home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1995-10-17 | 17.1 KB | [TEXT/MMCC] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
1%
| dexvert
| MS-DOS Code Page Info (other/dosCodePage)
| ext
| Unsupported |
1%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Tue Oct 17 13:47:14 1995, modified Tue Oct 17 13:47:14 1995, creator 'MMCC', type ASCII, 16891 bytes "AbstractIterator.cp" , at 0x427b 410 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| dearkID
| deark: macbinary
| default
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [MMCC] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 13 41 62 73 74 72 61 | 63 74 49 74 65 72 61 74 |..Abstra|ctIterat|
|00000010| 6f 72 2e 63 70 00 00 00 | 00 00 00 00 00 00 00 00 |or.cp...|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 4d 43 | 43 01 00 00 00 00 00 00 |.TEXTMMC|C.......|
|00000050| 00 00 00 00 00 41 fb 00 | 00 01 9a ac a9 9c a2 ac |.....A..|........|
|00000060| a9 9c a2 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 f9 ac 00 00 |........|........|
|00000080| 0d 23 69 6e 63 6c 75 64 | 65 20 22 41 62 73 74 72 |.#includ|e "Abstr|
|00000090| 61 63 74 49 74 65 72 61 | 74 6f 72 2e 68 22 0d 23 |actItera|tor.h".#|
|000000a0| 69 6e 63 6c 75 64 65 20 | 22 41 62 73 74 72 61 63 |include |"Abstrac|
|000000b0| 74 53 63 72 69 70 74 61 | 62 6c 65 4f 62 6a 65 63 |tScripta|bleObjec|
|000000c0| 74 2e 68 22 0d 23 69 6e | 63 6c 75 64 65 20 22 41 |t.h".#in|clude "A|
|000000d0| 62 73 74 72 61 63 74 43 | 6f 6c 6c 65 63 74 6f 72 |bstractC|ollector|
|000000e0| 2e 68 22 0d 23 69 6e 63 | 6c 75 64 65 20 22 41 62 |.h".#inc|lude "Ab|
|000000f0| 73 74 72 61 63 74 53 65 | 61 72 63 68 53 70 65 63 |stractSe|archSpec|
|00000100| 2e 68 22 0d 0d 2f 2f 0d | 2f 2f 20 46 6f 72 20 54 |.h"..//.|// For T|
|00000110| 44 65 65 70 49 74 65 72 | 61 74 6f 72 0d 2f 2f 0d |DeepIter|ator.//.|
|00000120| 23 69 6e 63 6c 75 64 65 | 20 22 45 6e 74 69 72 65 |#include| "Entire|
|00000130| 43 6f 6e 74 65 6e 74 73 | 2e 68 22 0d 0d 2f 2f 0d |Contents|.h"..//.|
|00000140| 2f 2f 20 46 6f 72 20 6d | 65 6d 63 70 79 0d 2f 2f |// For m|emcpy.//|
|00000150| 0d 23 69 6e 63 6c 75 64 | 65 20 3c 73 74 72 69 6e |.#includ|e <strin|
|00000160| 67 2e 68 3e 0d 0d 2f 2f | 3d 3d 3d 3d 3d 3d 3d 3d |g.h>..//|========|
|00000170| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000180| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000190| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000001a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000001b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000001c0| 0d 2f 2f 20 43 4c 41 53 | 53 20 54 41 62 73 74 72 |.// CLAS|S TAbstr|
|000001d0| 61 63 74 4f 62 6a 65 63 | 74 49 74 65 72 61 74 6f |actObjec|tIterato|
|000001e0| 72 0d 2f 2f 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |r.//====|========|
|000001f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000200| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000210| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000220| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000230| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 0d 2f 2f |========|====..//|
|00000240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000290| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 54 41 62 73 |--------|.// TAbs|
|000002a0| 74 72 61 63 74 4f 62 6a | 65 63 74 49 74 65 72 61 |tractObj|ectItera|
|000002b0| 74 6f 72 3a 3a 7e 54 41 | 62 73 74 72 61 63 74 4f |tor::~TA|bstractO|
|000002c0| 62 6a 65 63 74 49 74 65 | 72 61 74 6f 72 0d 2f 2f |bjectIte|rator.//|
|000002d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000300| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000310| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000320| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 54 41 62 73 74 72 61 |--------|.TAbstra|
|00000330| 63 74 4f 62 6a 65 63 74 | 49 74 65 72 61 74 6f 72 |ctObject|Iterator|
|00000340| 3a 3a 7e 54 41 62 73 74 | 72 61 63 74 4f 62 6a 65 |::~TAbst|ractObje|
|00000350| 63 74 49 74 65 72 61 74 | 6f 72 28 29 0d 09 7b 0d |ctIterat|or()..{.|
|00000360| 09 7d 0d 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.}..//--|--------|
|00000370| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000380| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000390| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000003a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000003b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|000003c0| 2f 20 54 41 62 73 74 72 | 61 63 74 4f 62 6a 65 63 |/ TAbstr|actObjec|
|000003d0| 74 49 74 65 72 61 74 6f | 72 3a 3a 44 69 73 70 6f |tIterato|r::Dispo|
|000003e0| 73 65 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |se.//---|--------|
|000003f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000410| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000420| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 76 6f |--------|-----.vo|
|00000440| 69 64 20 54 41 62 73 74 | 72 61 63 74 4f 62 6a 65 |id TAbst|ractObje|
|00000450| 63 74 49 74 65 72 61 74 | 6f 72 3a 3a 52 65 6c 65 |ctIterat|or::Rele|
|00000460| 61 73 65 28 29 0d 09 7b | 0d 09 64 65 6c 65 74 65 |ase()..{|..delete|
|00000470| 20 74 68 69 73 3b 0d 09 | 7d 0d 0d 2f 2f 2d 2d 2d | this;..|}..//---|
|00000480| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004d0| 2d 2d 2d 2d 2d 0d 2f 2f | 20 54 41 62 73 74 72 61 |-----.//| TAbstra|
|000004e0| 63 74 4f 62 6a 65 63 74 | 49 74 65 72 61 74 6f 72 |ctObject|Iterator|
|000004f0| 3a 3a 52 65 6d 6f 76 65 | 43 75 72 72 65 6e 74 0d |::Remove|Current.|
|00000500| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00000510| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000520| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 76 6f 69 64 20 |--------|--.void |
|00000560| 54 41 62 73 74 72 61 63 | 74 4f 62 6a 65 63 74 49 |TAbstrac|tObjectI|
|00000570| 74 65 72 61 74 6f 72 3a | 3a 52 65 6d 6f 76 65 43 |terator:|:RemoveC|
|00000580| 75 72 72 65 6e 74 28 54 | 54 72 61 6e 73 61 63 74 |urrent(T|Transact|
|00000590| 69 6f 6e 2a 29 0d 09 7b | 0d 09 46 61 69 6c 45 72 |ion*)..{|..FailEr|
|000005a0| 72 28 65 72 72 41 45 45 | 76 65 6e 74 4e 6f 74 48 |r(errAEE|ventNotH|
|000005b0| 61 6e 64 6c 65 64 29 3b | 0d 09 7d 0d 0d 2f 2f 2d |andled);|..}..//-|
|000005c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000600| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000610| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 20 54 41 62 73 74 |-------.|// TAbst|
|00000620| 72 61 63 74 4f 62 6a 65 | 63 74 49 74 65 72 61 74 |ractObje|ctIterat|
|00000630| 6f 72 3a 3a 43 75 72 72 | 65 6e 74 44 65 72 69 76 |or::Curr|entDeriv|
|00000640| 65 64 46 72 6f 6d 4f 53 | 4c 43 6c 61 73 73 0d 2f |edFromOS|LClass./|
|00000650| 2f 0d 2f 2f 20 4f 76 65 | 72 72 69 64 65 20 74 6f |/.// Ove|rride to|
|00000660| 20 61 76 6f 69 64 20 63 | 72 65 61 74 69 6e 67 20 | avoid c|reating |
|00000670| 61 20 64 65 73 69 67 6e | 61 74 6f 72 20 6a 75 73 |a design|ator jus|
|00000680| 74 20 74 6f 20 63 6f 6d | 70 61 72 65 20 74 68 65 |t to com|pare the|
|00000690| 20 6f 62 6a 65 63 74 20 | 63 6c 61 73 73 20 6f 66 | object |class of|
|000006a0| 0d 2f 2f 20 74 68 65 20 | 63 75 72 72 65 6e 74 20 |.// the |current |
|000006b0| 69 74 65 6d 2e 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |item..//|--------|
|000006c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000700| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000710| 0d 42 6f 6f 6c 65 61 6e | 20 54 41 62 73 74 72 61 |.Boolean| TAbstra|
|00000720| 63 74 4f 62 6a 65 63 74 | 49 74 65 72 61 74 6f 72 |ctObject|Iterator|
|00000730| 3a 3a 43 75 72 72 65 6e | 74 44 65 72 69 76 65 64 |::Curren|tDerived|
|00000740| 46 72 6f 6d 4f 53 4c 43 | 6c 61 73 73 28 54 54 72 |FromOSLC|lass(TTr|
|00000750| 61 6e 73 61 63 74 69 6f | 6e 2a 20 74 2c 20 44 65 |ansactio|n* t, De|
|00000760| 73 63 54 79 70 65 20 6f | 62 6a 65 63 74 43 6c 61 |scType o|bjectCla|
|00000770| 73 73 29 0d 09 7b 0d 09 | 54 41 62 73 74 72 61 63 |ss)..{..|TAbstrac|
|00000780| 74 53 63 72 69 70 74 61 | 62 6c 65 4f 62 6a 65 63 |tScripta|bleObjec|
|00000790| 74 2a 20 63 75 72 72 65 | 6e 74 20 3d 20 74 68 69 |t* curre|nt = thi|
|000007a0| 73 2d 3e 43 75 72 72 65 | 6e 74 28 74 29 3b 0d 09 |s->Curre|nt(t);..|
|000007b0| 42 6f 6f 6c 65 61 6e 20 | 69 73 44 65 72 69 76 65 |Boolean |isDerive|
|000007c0| 64 20 3d 20 66 61 6c 73 | 65 3b 0d 09 0d 09 69 66 |d = fals|e;....if|
|000007d0| 28 63 75 72 72 65 6e 74 | 20 21 3d 20 6e 69 6c 29 |(current| != nil)|
|000007e0| 0d 09 09 7b 0d 09 09 69 | 73 44 65 72 69 76 65 64 |...{...i|sDerived|
|000007f0| 20 3d 20 63 75 72 72 65 | 6e 74 2d 3e 44 65 72 69 | = curre|nt->Deri|
|00000800| 76 65 64 46 72 6f 6d 4f | 53 4c 43 6c 61 73 73 28 |vedFromO|SLClass(|
|00000810| 74 2c 20 6f 62 6a 65 63 | 74 43 6c 61 73 73 29 3b |t, objec|tClass);|
|00000820| 0d 09 09 63 75 72 72 65 | 6e 74 2d 3e 44 69 73 70 |...curre|nt->Disp|
|00000830| 6f 73 65 44 65 73 69 67 | 6e 61 74 6f 72 28 29 3b |oseDesig|nator();|
|00000840| 0d 09 09 7d 0d 09 0d 09 | 72 65 74 75 72 6e 20 69 |...}....|return i|
|00000850| 73 44 65 72 69 76 65 64 | 3b 0d 09 7d 20 2f 2f 20 |sDerived|;..} // |
|00000860| 54 41 62 73 74 72 61 63 | 74 4f 62 6a 65 63 74 49 |TAbstrac|tObjectI|
|00000870| 74 65 72 61 74 6f 72 3a | 3a 43 75 72 72 65 6e 74 |terator:|:Current|
|00000880| 44 65 72 69 76 65 64 46 | 72 6f 6d 4f 53 4c 43 6c |DerivedF|romOSLCl|
|00000890| 61 73 73 0d 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ass..//-|--------|
|000008a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|000008f0| 2f 2f 20 54 41 62 73 74 | 72 61 63 74 4f 62 6a 65 |// TAbst|ractObje|
|00000900| 63 74 49 74 65 72 61 74 | 6f 72 3a 3a 43 6f 75 6e |ctIterat|or::Coun|
|00000910| 74 45 6c 65 6d 65 6e 74 | 73 0d 2f 2f 2d 2d 2d 2d |tElement|s.//----|
|00000920| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000930| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000940| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000950| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000970| 2d 2d 2d 2d 0d 6c 6f 6e | 67 20 54 41 62 73 74 72 |----.lon|g TAbstr|
|00000980| 61 63 74 4f 62 6a 65 63 | 74 49 74 65 72 61 74 6f |actObjec|tIterato|
|00000990| 72 3a 3a 43 6f 75 6e 74 | 45 6c 65 6d 65 6e 74 73 |r::Count|Elements|
|000009a0| 28 54 54 72 61 6e 73 61 | 63 74 69 6f 6e 2a 20 74 |(TTransa|ction* t|
|000009b0| 2c 20 44 65 73 63 54 79 | 70 65 20 64 65 73 69 72 |, DescTy|pe desir|
|000009c0| 65 64 43 6c 61 73 73 29 | 0d 09 7b 0d 09 6c 6f 6e |edClass)|..{..lon|
|000009d0| 67 20 63 6f 75 6e 74 20 | 3d 20 30 3b 0d 0d 09 66 |g count |= 0;...f|
|000009e0| 6f 72 28 74 68 69 73 2d | 3e 52 65 73 65 74 28 74 |or(this-|>Reset(t|
|000009f0| 29 3b 20 74 68 69 73 2d | 3e 4d 6f 72 65 28 74 29 |); this-|>More(t)|
|00000a00| 3b 20 74 68 69 73 2d 3e | 4e 65 78 74 28 74 29 29 |; this->|Next(t))|
|00000a10| 0d 09 09 7b 0d 09 09 69 | 66 28 74 68 69 73 2d 3e |...{...i|f(this->|
|00000a20| 43 75 72 72 65 6e 74 44 | 65 72 69 76 65 64 46 72 |CurrentD|erivedFr|
|00000a30| 6f 6d 4f 53 4c 43 6c 61 | 73 73 28 74 2c 20 64 65 |omOSLCla|ss(t, de|
|00000a40| 73 69 72 65 64 43 6c 61 | 73 73 29 29 0d 09 09 09 |siredCla|ss))....|
|00000a50| 7b 0d 09 09 09 2b 2b 63 | 6f 75 6e 74 3b 0d 09 09 |{....++c|ount;...|
|00000a60| 09 7d 0d 09 09 7d 0d 09 | 0d 09 72 65 74 75 72 6e |.}...}..|..return|
|00000a70| 20 63 6f 75 6e 74 3b 0d | 09 7d 0d 0d 2f 2f 2d 2d | count;.|.}..//--|
|00000a80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000aa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ab0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ad0| 2d 2d 2d 2d 2d 2d 0d 2f | 2f 20 54 41 62 73 74 72 |------./|/ TAbstr|
|00000ae0| 61 63 74 4f 62 6a 65 63 | 74 49 74 65 72 61 74 6f |actObjec|tIterato|
|00000af0| 72 3a 3a 47 65 74 49 6e | 64 65 78 65 64 45 6c 65 |r::GetIn|dexedEle|
|00000b00| 6d 65 6e 74 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ment.//-|--------|
|00000b10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00000b60| 54 41 62 73 74 72 61 63 | 74 53 63 72 69 70 74 61 |TAbstrac|tScripta|
|00000b70| 62 6c 65 4f 62 6a 65 63 | 74 2a 20 54 41 62 73 74 |bleObjec|t* TAbst|
|00000b80| 72 61 63 74 4f 62 6a 65 | 63 74 49 74 65 72 61 74 |ractObje|ctIterat|
|00000b90| 6f 72 3a 3a 47 65 74 49 | 6e 64 65 78 65 64 45 6c |or::GetI|ndexedEl|
|00000ba0| 65 6d 65 6e 74 28 54 54 | 72 61 6e 73 61 63 74 69 |ement(TT|ransacti|
|00000bb0| 6f 6e 2a 20 74 2c 20 44 | 65 73 63 54 79 70 65 20 |on* t, D|escType |
|00000bc0| 64 65 73 69 72 65 64 43 | 6c 61 73 73 2c 20 6c 6f |desiredC|lass, lo|
|00000bd0| 6e 67 20 69 6e 64 65 78 | 29 0d 09 7b 0d 09 54 41 |ng index|)..{..TA|
|00000be0| 62 73 74 72 61 63 74 53 | 63 72 69 70 74 61 62 6c |bstractS|criptabl|
|00000bf0| 65 4f 62 6a 65 63 74 2a | 20 72 65 73 75 6c 74 20 |eObject*| result |
|00000c00| 3d 20 6e 69 6c 3b 0d 0d | 09 66 6f 72 28 74 68 69 |= nil;..|.for(thi|
|00000c10| 73 2d 3e 52 65 73 65 74 | 28 74 29 3b 20 74 68 69 |s->Reset|(t); thi|
|00000c20| 73 2d 3e 4d 6f 72 65 28 | 74 29 3b 20 74 68 69 73 |s->More(|t); this|
|00000c30| 2d 3e 4e 65 78 74 28 74 | 29 29 0d 09 09 7b 0d 09 |->Next(t|))...{..|
|00000c40| 09 69 66 28 74 68 69 73 | 2d 3e 43 75 72 72 65 6e |.if(this|->Curren|
|00000c50| 74 44 65 72 69 76 65 64 | 46 72 6f 6d 4f 53 4c 43 |tDerived|FromOSLC|
|00000c60| 6c 61 73 73 28 74 2c 20 | 64 65 73 69 72 65 64 43 |lass(t, |desiredC|
|00000c70| 6c 61 73 73 29 29 0d 09 | 09 09 7b 0d 09 09 09 2d |lass))..|..{....-|
|00000c80| 2d 69 6e 64 65 78 3b 0d | 09 09 09 69 66 28 69 6e |-index;.|...if(in|
|00000c90| 64 65 78 20 3d 3d 20 30 | 29 0d 09 09 09 09 7b 0d |dex == 0|).....{.|
|00000ca0| 09 09 09 09 72 65 73 75 | 6c 74 20 3d 20 74 68 69 |....resu|lt = thi|
|00000cb0| 73 2d 3e 43 75 72 72 65 | 6e 74 28 74 29 3b 0d 09 |s->Curre|nt(t);..|
|00000cc0| 09 09 09 62 72 65 61 6b | 3b 0d 09 09 09 09 7d 0d |...break|;.....}.|
|00000cd0| 09 09 09 7d 0d 09 09 7d | 0d 09 0d 09 72 65 74 75 |...}...}|....retu|
|00000ce0| 72 6e 20 72 65 73 75 6c | 74 3b 0d 09 7d 0d 0d 2f |rn resul|t;..}../|
|00000cf0| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00000d00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 2f 2f 20 54 41 62 |--------|-.// TAb|
|00000d50| 73 74 72 61 63 74 4f 62 | 6a 65 63 74 49 74 65 72 |stractOb|jectIter|
|00000d60| 61 74 6f 72 3a 3a 47 65 | 74 4e 61 6d 65 64 45 6c |ator::Ge|tNamedEl|
|00000d70| 65 6d 65 6e 74 0d 2f 2f | 0d 2f 2f 20 49 74 20 69 |ement.//|.// It i|
|00000d80| 73 20 6f 6e 6c 79 20 6e | 65 63 65 73 73 61 72 79 |s only n|ecessary|
|00000d90| 20 74 6f 20 6f 76 65 72 | 72 69 64 65 20 74 68 69 | to over|ride thi|
|00000da0| 73 20 6d 65 74 68 6f 64 | 20 74 6f 20 69 6d 70 72 |s method| to impr|
|00000db0| 6f 76 65 20 74 68 65 20 | 70 65 72 66 6f 72 6d 61 |ove the |performa|
|00000dc0| 6e 63 65 0d 2f 2f 20 6f | 66 20 61 63 63 65 73 73 |nce.// o|f access|
|00000dd0| 20 62 79 20 6e 61 6d 65 | 0d 2f 2f 2d 2d 2d 2d 2d | by name|.//-----|
|00000de0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e30| 2d 2d 2d 0d 54 41 62 73 | 74 72 61 63 74 53 63 72 |---.TAbs|tractScr|
|00000e40| 69 70 74 61 62 6c 65 4f | 62 6a 65 63 74 2a 20 54 |iptableO|bject* T|
|00000e50| 41 62 73 74 72 61 63 74 | 4f 62 6a 65 63 74 49 74 |Abstract|ObjectIt|
|00000e60| 65 72 61 74 6f 72 3a 3a | 47 65 74 4e 61 6d 65 64 |erator::|GetNamed|
|00000e70| 45 6c 65 6d 65 6e 74 28 | 54 54 72 61 6e 73 61 63 |Element(|TTransac|
|00000e80| 74 69 6f 6e 2a 20 74 2c | 20 44 65 73 63 54 79 70 |tion* t,| DescTyp|
|00000e90| 65 20 64 65 73 69 72 65 | 64 43 6c 61 73 73 2c 20 |e desire|dClass, |
|00000ea0| 54 44 65 73 63 72 69 70 | 74 6f 72 20 6e 61 6d 65 |TDescrip|tor name|
|00000eb0| 44 65 73 63 29 0d 09 7b | 0d 09 54 41 62 73 74 72 |Desc)..{|..TAbstr|
|00000ec0| 61 63 74 53 63 72 69 70 | 74 61 62 6c 65 4f 62 6a |actScrip|tableObj|
|00000ed0| 65 63 74 2a 20 72 65 73 | 75 6c 74 20 3d 20 6e 69 |ect* res|ult = ni|
|00000ee0| 6c 3b 0d 0d 09 66 6f 72 | 28 74 68 69 73 2d 3e 52 |l;...for|(this->R|
|00000ef0| 65 73 65 74 28 74 29 3b | 20 74 68 69 73 2d 3e 4d |eset(t);| this->M|
|00000f00| 6f 72 65 28 74 29 3b 20 | 74 68 69 73 2d 3e 4e 65 |ore(t); |this->Ne|
|00000f10| 78 74 28 74 29 29 0d 09 | 09 7b 0d 09 09 54 41 62 |xt(t))..|.{...TAb|
|00000f20| 73 74 72 61 63 74 53 63 | 72 69 70 74 61 62 6c 65 |stractSc|riptable|
|00000f30| 4f 62 6a 65 63 74 2a 20 | 74 6f 6b 65 6e 20 3d 20 |Object* |token = |
|00000f40| 74 68 69 73 2d 3e 43 75 | 72 72 65 6e 74 28 74 29 |this->Cu|rrent(t)|
|00000f50| 3b 0d 09 09 69 66 28 74 | 6f 6b 65 6e 2d 3e 44 65 |;...if(t|oken->De|
|00000f60| 72 69 76 65 64 46 72 6f | 6d 4f 53 4c 43 6c 61 73 |rivedFro|mOSLClas|
|00000f70| 73 28 74 2c 20 64 65 73 | 69 72 65 64 43 6c 61 73 |s(t, des|iredClas|
|00000f80| 73 29 29 0d 09 09 09 7b | 0d 09 09 09 42 6f 6f 6c |s))....{|....Bool|
|00000f90| 65 61 6e 20 6d 61 74 63 | 68 20 3d 20 74 6f 6b 65 |ean matc|h = toke|
|00000fa0| 6e 2d 3e 43 6f 6d 70 61 | 72 65 50 72 6f 70 65 72 |n->Compa|reProper|
|00000fb0| 74 79 28 74 2c 20 70 4e | 61 6d 65 2c 20 6b 41 45 |ty(t, pN|ame, kAE|
|00000fc0| 45 71 75 61 6c 73 2c 20 | 6e 61 6d 65 44 65 73 63 |Equals, |nameDesc|
|00000fd0| 29 3b 0d 09 09 09 69 66 | 28 6d 61 74 63 68 29 0d |);....if|(match).|
|00000fe0| 09 09 09 09 7b 0d 09 09 | 09 09 74 6f 6b 65 6e 2d |....{...|..token-|
|00000ff0| 3e 41 64 64 54 68 69 73 | 54 6f 4d 61 72 6b 54 6f |>AddThis|ToMarkTo|
|00001000| 6b 65 6e 28 72 65 73 75 | 6c 74 2c 20 6b 53 69 6e |ken(resu|lt, kSin|
|00001010| 67 6c 65 49 74 65 6d 4f | 72 55 6e 69 6f 6e 29 3b |gleItemO|rUnion);|
|00001020| 0d 09 09 09 09 74 6f 6b | 65 6e 20 3d 20 6e 69 6c |.....tok|en = nil|
|00001030| 3b 0d 09 09 09 09 7d 0d | 09 09 09 7d 0d 09 09 69 |;.....}.|...}...i|
|00001040| 66 28 74 6f 6b 65 6e 20 | 21 3d 20 6e 69 6c 29 0d |f(token |!= nil).|
|00001050| 09 09 09 7b 0d 09 09 09 | 74 6f 6b 65 6e 2d 3e 44 |...{....|token->D|
|00001060| 69 73 70 6f 73 65 44 65 | 73 69 67 6e 61 74 6f 72 |isposeDe|signator|
|00001070| 28 29 3b 0d 09 09 09 74 | 6f 6b 65 6e 20 3d 20 6e |();....t|oken = n|
|00001080| 69 6c 3b 0d 09 09 09 7d | 0d 09 09 7d 0d 09 0d 09 |il;....}|...}....|
|00001090| 72 65 74 75 72 6e 20 72 | 65 73 75 6c 74 3b 0d 09 |return r|esult;..|
|000010a0| 7d 20 2f 2f 20 54 41 62 | 73 74 72 61 63 74 4f 62 |} // TAb|stractOb|
|000010b0| 6a 65 63 74 49 74 65 72 | 61 74 6f 72 3a 3a 47 65 |jectIter|ator::Ge|
|000010c0| 74 4e 61 6d 65 64 45 6c | 65 6d 65 6e 74 0d 09 0d |tNamedEl|ement...|
|000010d0| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|000010e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000010f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001120| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 54 41 |--------|--.// TA|
|00001130| 62 73 74 72 61 63 74 4f | 62 6a 65 63 74 49 74 65 |bstractO|bjectIte|
|00001140| 72 61 74 6f 72 3a 3a 41 | 63 63 65 73 73 42 79 53 |rator::A|ccessByS|
|00001150| 65 61 72 63 68 53 70 65 | 63 3a 20 0d 2f 2f 2d 2d |earchSpe|c: .//--|
|00001160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011b0| 2d 2d 2d 2d 2d 2d 0d 76 | 6f 69 64 20 54 41 62 73 |------.v|oid TAbs|
|000011c0| 74 72 61 63 74 4f 62 6a | 65 63 74 49 74 65 72 61 |tractObj|ectItera|
|000011d0| 74 6f 72 3a 3a 41 63 63 | 65 73 73 42 79 53 65 61 |tor::Acc|essBySea|
|000011e0| 72 63 68 53 70 65 63 28 | 54 54 72 61 6e 73 61 63 |rchSpec(|TTransac|
|000011f0| 74 69 6f 6e 2a 20 74 2c | 20 54 41 62 73 74 72 61 |tion* t,| TAbstra|
|00001200| 63 74 43 6f 6c 6c 65 63 | 74 6f 72 2a 20 63 6f 6c |ctCollec|tor* col|
|00001210| 6c 65 63 74 6f 72 2c 20 | 44 65 73 63 54 79 70 65 |lector, |DescType|
|00001220| 20 64 65 73 69 72 65 64 | 43 6c 61 73 73 2c 20 54 | desired|Class, T|
|00001230| 41 62 73 74 72 61 63 74 | 53 65 61 72 63 68 53 70 |Abstract|SearchSp|
|00001240| 65 63 2a 20 73 65 61 72 | 63 68 53 70 65 63 29 0d |ec* sear|chSpec).|
|00001250| 09 7b 0d 09 42 6f 6f 6c | 65 61 6e 20 69 74 65 72 |.{..Bool|ean iter|
|00001260| 61 74 69 6f 6e 44 69 72 | 65 63 74 69 6f 6e 20 3d |ationDir|ection =|
|00001270| 20 63 6f 6c 6c 65 63 74 | 6f 72 2d 3e 43 6f 6c 6c | collect|or->Coll|
|00001280| 65 63 74 6f 72 52 65 71 | 75 65 73 74 28 74 2c 20 |ectorReq|uest(t, |
|00001290| 6b 53 65 61 72 63 68 53 | 68 6f 75 6c 64 49 74 65 |kSearchS|houldIte|
|000012a0| 72 61 74 65 42 61 63 6b | 77 61 72 64 73 29 20 3f |rateBack|wards) ?|
|000012b0| 20 6b 42 61 63 6b 77 61 | 72 64 49 74 65 72 61 74 | kBackwa|rdIterat|
|000012c0| 69 6f 6e 20 3a 20 6b 46 | 6f 72 77 61 72 64 49 74 |ion : kF|orwardIt|
|000012d0| 65 72 61 74 69 6f 6e 3b | 0d 09 66 6f 72 28 74 68 |eration;|..for(th|
|000012e0| 69 73 2d 3e 52 65 73 65 | 74 28 74 2c 20 69 74 65 |is->Rese|t(t, ite|
|000012f0| 72 61 74 69 6f 6e 44 69 | 72 65 63 74 69 6f 6e 29 |rationDi|rection)|
|00001300| 3b 20 74 68 69 73 2d 3e | 4d 6f 72 65 28 74 29 20 |; this->|More(t) |
|00001310| 26 26 20 28 63 6f 6c 6c | 65 63 74 6f 72 2d 3e 43 |&& (coll|ector->C|
|00001320| 6f 6c 6c 65 63 74 6f 72 | 52 65 71 75 65 73 74 28 |ollector|Request(|
|00001330| 74 2c 20 6b 43 6f 6c 6c | 65 63 74 69 6f 6e 49 73 |t, kColl|ectionIs|
|00001340| 46 75 6c 6c 29 20 3d 3d | 20 66 61 6c 73 65 29 3b |Full) ==| false);|
|00001350| 20 74 68 69 73 2d 3e 4e | 65 78 74 28 74 29 29 0d | this->N|ext(t)).|
|00001360| 09 09 7b 0d 09 09 54 52 | 59 0d 09 09 09 7b 0d 09 |..{...TR|Y....{..|
|00001370| 09 09 54 41 62 73 74 72 | 61 63 74 53 63 72 69 70 |..TAbstr|actScrip|
|00001380| 74 61 62 6c 65 4f 62 6a | 65 63 74 2a 20 74 6f 6b |tableObj|ect* tok|
|00001390| 65 6e 20 3d 20 74 68 69 | 73 2d 3e 43 75 72 72 65 |en = thi|s->Curre|
|000013a0| 6e 74 28 74 29 3b 0d 09 | 09 09 69 66 28 74 6f 6b |nt(t);..|..if(tok|
|000013b0| 65 6e 2d 3e 44 65 72 69 | 76 65 64 46 72 6f 6d 4f |en->Deri|vedFromO|
|000013c0| 53 4c 43 6c 61 73 73 28 | 74 2c 20 64 65 73 69 72 |SLClass(|t, desir|
|000013d0| 65 64 43 6c 61 73 73 29 | 20 26 26 20 73 65 61 72 |edClass)| && sear|
|000013e0| 63 68 53 70 65 63 2d 3e | 43 6f 6d 70 61 72 65 28 |chSpec->|Compare(|
|000013f0| 74 2c 20 74 6f 6b 65 6e | 29 29 0d 09 09 09 09 63 |t, token|)).....c|
|00001400| 6f 6c 6c 65 63 74 6f 72 | 2d 3e 41 64 64 54 6f 43 |ollector|->AddToC|
|00001410| 6f 6c 6c 65 63 74 69 6f | 6e 28 74 6f 6b 65 6e 29 |ollectio|n(token)|
|00001420| 3b 0d 09 09 09 65 6c 73 | 65 0d 09 09 09 09 74 6f |;....els|e.....to|
|00001430| 6b 65 6e 2d 3e 44 69 73 | 70 6f 73 65 44 65 73 69 |ken->Dis|poseDesi|
|00001440| 67 6e 61 74 6f 72 28 29 | 3b 0d 09 09 09 74 6f 6b |gnator()|;....tok|
|00001450| 65 6e 20 3d 20 6e 69 6c | 3b 0d 09 09 09 7d 0d 09 |en = nil|;....}..|
|00001460| 09 45 58 43 45 50 54 0d | 09 09 09 7b 0d 09 09 09 |.EXCEPT.|...{....|
|00001470| 7d 0d 09 09 45 4e 44 54 | 52 59 0d 09 09 7d 0d 09 |}...ENDT|RY...}..|
|00001480| 7d 20 2f 2f 20 54 41 62 | 73 74 72 61 63 74 4f 62 |} // TAb|stractOb|
|00001490| 6a 65 63 74 49 74 65 72 | 61 74 6f 72 3a 3a 41 63 |jectIter|ator::Ac|
|000014a0| 63 65 73 73 42 79 53 65 | 61 72 63 68 53 70 65 63 |cessBySe|archSpec|
|000014b0| 0d 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..//----|--------|
|000014c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000014d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000014e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000014f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|00001510| 54 41 62 73 74 72 61 63 | 74 4f 62 6a 65 63 74 49 |TAbstrac|tObjectI|
|00001520| 74 65 72 61 74 6f 72 3a | 3a 53 65 61 72 63 68 44 |terator:|:SearchD|
|00001530| 65 65 70 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |eep.//--|--------|
|00001540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 76 |--------|------.v|
|00001590| 6f 69 64 20 54 41 62 73 | 74 72 61 63 74 4f 62 6a |oid TAbs|tractObj|
|000015a0| 65 63 74 49 74 65 72 61 | 74 6f 72 3a 3a 53 65 61 |ectItera|tor::Sea|
|000015b0| 72 63 68 44 65 65 70 28 | 54 54 72 61 6e 73 61 63 |rchDeep(|TTransac|
|000015c0| 74 69 6f 6e 2a 20 74 2c | 20 54 41 62 73 74 72 61 |tion* t,| TAbstra|
|000015d0| 63 74 43 6f 6c 6c 65 63 | 74 6f 72 2a 20 63 6f 6c |ctCollec|tor* col|
|000015e0| 6c 65 63 74 6f 72 2c 20 | 44 65 73 63 54 79 70 65 |lector, |DescType|
|000015f0| 20 64 65 73 69 72 65 64 | 43 6c 61 73 73 2c 20 54 | desired|Class, T|
|00001600| 41 62 73 74 72 61 63 74 | 53 65 61 72 63 68 53 70 |Abstract|SearchSp|
|00001610| 65 63 2a 20 73 65 61 72 | 63 68 53 70 65 63 29 0d |ec* sear|chSpec).|
|00001620| 09 7b 0d 09 54 44 65 65 | 70 49 74 65 72 61 74 6f |.{..TDee|pIterato|
|00001630| 72 20 64 65 65 70 49 74 | 65 72 28 6e 69 6c 29 3b |r deepIt|er(nil);|
|00001640| 0d 09 0d 09 66 6f 72 28 | 74 68 69 73 2d 3e 52 65 |....for(|this->Re|
|00001650| 73 65 74 28 74 29 3b 20 | 74 68 69 73 2d 3e 4d 6f |set(t); |this->Mo|
|00001660| 72 65 28 74 29 3b 20 74 | 68 69 73 2d 3e 4e 65 78 |re(t); t|his->Nex|
|00001670| 74 28 74 29 29 0d 09 09 | 7b 0d 09 09 54 52 59 0d |t(t))...|{...TRY.|
|00001680| 09 09 09 7b 0d 09 09 09 | 54 41 62 73 74 72 61 63 |...{....|TAbstrac|
|00001690| 74 53 63 72 69 70 74 61 | 62 6c 65 4f 62 6a 65 63 |tScripta|bleObjec|
|000016a0| 74 2a 20 65 6c 65 6d 65 | 6e 74 54 6f 44 65 65 70 |t* eleme|ntToDeep|
|000016b0| 53 65 61 72 63 68 20 3d | 20 74 68 69 73 2d 3e 43 |Search =| this->C|
|000016c0| 75 72 72 65 6e 74 28 74 | 29 3b 0d 09 09 09 64 65 |urrent(t|);....de|
|000016d0| 65 70 49 74 65 72 2e 46 | 6f 63 75 73 4f 6e 4e 65 |epIter.F|ocusOnNe|
|000016e0| 77 52 6f 6f 74 28 65 6c | 65 6d 65 6e 74 54 6f 44 |wRoot(el|ementToD|
|000016f0| 65 65 70 53 65 61 72 63 | 68 29 3b 0d 09 09 09 09 |eepSearc|h);.....|
|00001700| 0d 09 09 09 66 6f 72 28 | 64 65 65 70 49 74 65 72 |....for(|deepIter|
|00001710| 2e 52 65 73 65 74 28 74 | 29 3b 20 64 65 65 70 49 |.Reset(t|); deepI|
|00001720| 74 65 72 2e 4d 6f 72 65 | 28 74 29 3b 20 64 65 65 |ter.More|(t); dee|
|00001730| 70 49 74 65 72 2e 4e 65 | 78 74 28 74 29 29 0d 09 |pIter.Ne|xt(t))..|
|00001740| 09 09 09 7b 0d 09 09 09 | 09 54 52 59 0d 09 09 09 |...{....|.TRY....|
|00001750| 09 09 7b 0d 09 09 09 09 | 09 54 41 62 73 74 72 61 |..{.....|.TAbstra|
|00001760| 63 74 53 63 72 69 70 74 | 61 62 6c 65 4f 62 6a 65 |ctScript|ableObje|
|00001770| 63 74 2a 20 74 6f 6b 65 | 6e 20 3d 20 64 65 65 70 |ct* toke|n = deep|
|00001780| 49 74 65 72 2e 43 75 72 | 72 65 6e 74 28 74 29 3b |Iter.Cur|rent(t);|
|00001790| 0d 09 09 09 09 09 69 66 | 28 74 6f 6b 65 6e 2d 3e |......if|(token->|
|000017a0| 44 65 72 69 76 65 64 46 | 72 6f 6d 4f 53 4c 43 6c |DerivedF|romOSLCl|
|000017b0| 61 73 73 28 74 2c 20 64 | 65 73 69 72 65 64 43 6c |ass(t, d|esiredCl|
|000017c0| 61 73 73 29 20 26 26 20 | 73 65 61 72 63 68 53 70 |ass) && |searchSp|
|000017d0| 65 63 2d 3e 43 6f 6d 70 | 61 72 65 28 74 2c 20 74 |ec->Comp|are(t, t|
|000017e0| 6f 6b 65 6e 29 29 0d 09 | 09 09 09 09 09 63 6f 6c |oken))..|.....col|
|000017f0| 6c 65 63 74 6f 72 2d 3e | 41 64 64 54 6f 43 6f 6c |lector->|AddToCol|
|00001800| 6c 65 63 74 69 6f 6e 28 | 74 6f 6b 65 6e 29 3b 0d |lection(|token);.|
|00001810| 09 09 09 09 09 65 6c 73 | 65 0d 09 09 09 09 09 09 |.....els|e.......|
|00001820| 74 6f 6b 65 6e 2d 3e 44 | 69 73 70 6f 73 65 44 65 |token->D|isposeDe|
|00001830| 73 69 67 6e 61 74 6f 72 | 28 29 3b 0d 09 09 09 09 |signator|();.....|
|00001840| 09 74 6f 6b 65 6e 20 3d | 20 6e 69 6c 3b 0d 09 09 |.token =| nil;...|
|00001850| 09 09 09 7d 0d 09 09 09 | 09 45 4e 44 54 52 59 0d |...}....|.ENDTRY.|
|00001860| 09 09 09 09 7d 0d 0d 09 | 09 09 69 66 28 65 6c 65 |....}...|..if(ele|
|00001870| 6d 65 6e 74 54 6f 44 65 | 65 70 53 65 61 72 63 68 |mentToDe|epSearch|
|00001880| 2d 3e 44 65 72 69 76 65 | 64 46 72 6f 6d 4f 53 4c |->Derive|dFromOSL|
|00001890| 43 6c 61 73 73 28 74 2c | 20 64 65 73 69 72 65 64 |Class(t,| desired|
|000018a0| 43 6c 61 73 73 29 20 26 | 26 20 73 65 61 72 63 68 |Class) &|& search|
|000018b0| 53 70 65 63 2d 3e 43 6f | 6d 70 61 72 65 28 74 2c |Spec->Co|mpare(t,|
|000018c0| 20 65 6c 65 6d 65 6e 74 | 54 6f 44 65 65 70 53 65 | element|ToDeepSe|
|000018d0| 61 72 63 68 29 29 0d 09 | 09 09 09 63 6f 6c 6c 65 |arch))..|...colle|
|000018e0| 63 74 6f 72 2d 3e 41 64 | 64 54 6f 43 6f 6c 6c 65 |ctor->Ad|dToColle|
|000018f0| 63 74 69 6f 6e 28 65 6c | 65 6d 65 6e 74 54 6f 44 |ction(el|ementToD|
|00001900| 65 65 70 53 65 61 72 63 | 68 29 3b 0d 09 09 09 65 |eepSearc|h);....e|
|00001910| 6c 73 65 0d 09 09 09 09 | 65 6c 65 6d 65 6e 74 54 |lse.....|elementT|
|00001920| 6f 44 65 65 70 53 65 61 | 72 63 68 2d 3e 44 69 73 |oDeepSea|rch->Dis|
|00001930| 70 6f 73 65 44 65 73 69 | 67 6e 61 74 6f 72 28 29 |poseDesi|gnator()|
|00001940| 3b 0d 09 09 09 7d 0d 09 | 09 45 4e 44 54 52 59 0d |;....}..|.ENDTRY.|
|00001950| 09 09 7d 0d 09 7d 0d 0d | 2f 2f 2d 2d 2d 2d 2d 2d |..}..}..|//------|
|00001960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019b0| 2d 2d 0d 2f 2f 20 54 41 | 62 73 74 72 61 63 74 4f |--.// TA|bstractO|
|000019c0| 62 6a 65 63 74 49 74 65 | 72 61 74 6f 72 3a 3a 52 |bjectIte|rator::R|
|000019d0| 65 63 75 72 73 69 76 65 | 53 65 61 72 63 68 44 65 |ecursive|SearchDe|
|000019e0| 65 70 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ep.//---|--------|
|000019f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 76 6f |--------|-----.vo|
|00001a40| 69 64 20 54 41 62 73 74 | 72 61 63 74 4f 62 6a 65 |id TAbst|ractObje|
|00001a50| 63 74 49 74 65 72 61 74 | 6f 72 3a 3a 52 65 63 75 |ctIterat|or::Recu|
|00001a60| 72 73 69 76 65 53 65 61 | 72 63 68 44 65 65 70 28 |rsiveSea|rchDeep(|
|00001a70| 54 54 72 61 6e 73 61 63 | 74 69 6f 6e 2a 20 74 2c |TTransac|tion* t,|
|00001a80| 20 54 41 62 73 74 72 61 | 63 74 43 6f 6c 6c 65 63 | TAbstra|ctCollec|
|00001a90| 74 6f 72 2a 20 63 6f 6c | 6c 65 63 74 6f 72 2c 20 |tor* col|lector, |
|00001aa0| 44 65 73 63 54 79 70 65 | 20 64 65 73 69 72 65 64 |DescType| desired|
|00001ab0| 43 6c 61 73 73 2c 20 54 | 41 62 73 74 72 61 63 74 |Class, T|Abstract|
|00001ac0| 53 65 61 72 63 68 53 70 | 65 63 2a 20 73 65 61 72 |SearchSp|ec* sear|
|00001ad0| 63 68 53 70 65 63 29 0d | 09 7b 0d 09 66 6f 72 28 |chSpec).|.{..for(|
|00001ae0| 74 68 69 73 2d 3e 52 65 | 73 65 74 28 74 29 3b 20 |this->Re|set(t); |
|00001af0| 74 68 69 73 2d 3e 4d 6f | 72 65 28 74 29 3b 20 74 |this->Mo|re(t); t|
|00001b00| 68 69 73 2d 3e 4e 65 78 | 74 28 74 29 29 0d 09 09 |his->Nex|t(t))...|
|00001b10| 7b 0d 09 09 54 52 59 0d | 09 09 09 7b 0d 09 09 09 |{...TRY.|...{....|
|00001b20| 54 41 62 73 74 72 61 63 | 74 53 63 72 69 70 74 61 |TAbstrac|tScripta|
|00001b30| 62 6c 65 4f 62 6a 65 63 | 74 2a 20 74 6f 6b 65 6e |bleObjec|t* token|
|00001b40| 20 3d 20 74 68 69 73 2d | 3e 43 75 72 72 65 6e 74 | = this-|>Current|
|00001b50| 28 74 29 3b 0d 09 09 09 | 54 41 62 73 74 72 61 63 |(t);....|TAbstrac|
|00001b60| 74 4f 62 6a 65 63 74 49 | 74 65 72 61 74 6f 72 2a |tObjectI|terator*|
|00001b70| 20 65 6c 65 6d 65 6e 74 | 49 74 65 72 20 3d 20 74 | element|Iter = t|
|00001b80| 6f 6b 65 6e 2d 3e 45 6c | 65 6d 65 6e 74 49 74 65 |oken->El|ementIte|
|00001b90| 72 61 74 6f 72 28 74 29 | 3b 0d 09 09 09 65 6c 65 |rator(t)|;....ele|
|00001ba0| 6d 65 6e 74 49 74 65 72 | 2d 3e 53 65 61 72 63 68 |mentIter|->Search|
|00001bb0| 44 65 65 70 28 74 2c 20 | 63 6f 6c 6c 65 63 74 6f |Deep(t, |collecto|
|00001bc0| 72 2c 20 64 65 73 69 72 | 65 64 43 6c 61 73 73 2c |r, desir|edClass,|
|00001bd0| 20 73 65 61 72 63 68 53 | 70 65 63 29 3b 0d 09 09 | searchS|pec);...|
|00001be0| 09 69 66 28 74 6f 6b 65 | 6e 2d 3e 44 65 72 69 76 |.if(toke|n->Deriv|
|00001bf0| 65 64 46 72 6f 6d 4f 53 | 4c 43 6c 61 73 73 28 74 |edFromOS|LClass(t|
|00001c00| 2c 20 64 65 73 69 72 65 | 64 43 6c 61 73 73 29 20 |, desire|dClass) |
|00001c10| 26 26 20 73 65 61 72 63 | 68 53 70 65 63 2d 3e 43 |&& searc|hSpec->C|
|00001c20| 6f 6d 70 61 72 65 28 74 | 2c 20 74 6f 6b 65 6e 29 |ompare(t|, token)|
|00001c30| 29 0d 09 09 09 09 63 6f | 6c 6c 65 63 74 6f 72 2d |).....co|llector-|
|00001c40| 3e 41 64 64 54 6f 43 6f | 6c 6c 65 63 74 69 6f 6e |>AddToCo|llection|
|00001c50| 28 74 6f 6b 65 6e 29 3b | 0d 09 09 09 65 6c 73 65 |(token);|....else|
|00001c60| 0d 09 09 09 09 74 6f 6b | 65 6e 2d 3e 44 69 73 70 |.....tok|en->Disp|
|00001c70| 6f 73 65 44 65 73 69 67 | 6e 61 74 6f 72 28 29 3b |oseDesig|nator();|
|00001c80| 0d 09 09 09 65 6c 65 6d | 65 6e 74 49 74 65 72 2d |....elem|entIter-|
|00001c90| 3e 52 65 6c 65 61 73 65 | 28 29 3b 0d 09 09 09 65 |>Release|();....e|
|00001ca0| 6c 65 6d 65 6e 74 49 74 | 65 72 20 3d 20 6e 69 6c |lementIt|er = nil|
|00001cb0| 3b 0d 09 09 09 74 6f 6b | 65 6e 20 3d 20 6e 69 6c |;....tok|en = nil|
|00001cc0| 3b 0d 09 09 09 7d 0d 09 | 09 45 4e 44 54 52 59 0d |;....}..|.ENDTRY.|
|00001cd0| 09 09 7d 0d 09 7d 0d 0d | 2f 2f 2d 2d 2d 2d 2d 2d |..}..}..|//------|
|00001ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001cf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d30| 2d 2d 0d 2f 2f 20 54 41 | 62 73 74 72 61 63 74 4f |--.// TA|bstractO|
|00001d40| 62 6a 65 63 74 49 74 65 | 72 61 74 6f 72 3a 3a 43 |bjectIte|rator::C|
|00001d50| 6f 6e 74 61 69 6e 73 0d | 2f 2f 2d 2d 2d 2d 2d 2d |ontains.|//------|
|00001d60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001da0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001db0| 2d 2d 0d 42 6f 6f 6c 65 | 61 6e 20 54 41 62 73 74 |--.Boole|an TAbst|
|00001dc0| 72 61 63 74 4f 62 6a 65 | 63 74 49 74 65 72 61 74 |ractObje|ctIterat|
|00001dd0| 6f 72 3a 3a 43 6f 6e 74 | 61 69 6e 73 28 54 54 72 |or::Cont|ains(TTr|
|00001de0| 61 6e 73 61 63 74 69 6f | 6e 2a 20 74 2c 20 54 41 |ansactio|n* t, TA|
|00001df0| 62 73 74 72 61 63 74 53 | 63 72 69 70 74 61 62 6c |bstractS|criptabl|
|00001e00| 65 4f 62 6a 65 63 74 2a | 20 6f 62 6a 65 63 74 54 |eObject*| objectT|
|00001e10| 6f 54 65 73 74 46 6f 72 | 4d 65 6d 62 65 72 73 68 |oTestFor|Membersh|
|00001e20| 69 70 29 0d 09 7b 0d 09 | 42 6f 6f 6c 65 61 6e 20 |ip)..{..|Boolean |
|00001e30| 69 73 43 6f 6e 74 61 69 | 6e 65 64 20 3d 20 66 61 |isContai|ned = fa|
|00001e40| 6c 73 65 3b 0d 09 0d 09 | 66 6f 72 28 74 68 69 73 |lse;....|for(this|
|00001e50| 2d 3e 52 65 73 65 74 28 | 74 29 3b 20 74 68 69 73 |->Reset(|t); this|
|00001e60| 2d 3e 4d 6f 72 65 28 74 | 29 20 26 26 20 28 69 73 |->More(t|) && (is|
|00001e70| 43 6f 6e 74 61 69 6e 65 | 64 20 3d 3d 20 66 61 6c |Containe|d == fal|
|00001e80| 73 65 29 3b 20 74 68 69 | 73 2d 3e 4e 65 78 74 28 |se); thi|s->Next(|
|00001e90| 74 29 29 0d 09 09 7b 0d | 09 09 54 41 62 73 74 72 |t))...{.|..TAbstr|
|00001ea0| 61 63 74 53 63 72 69 70 | 74 61 62 6c 65 4f 62 6a |actScrip|tableObj|
|00001eb0| 65 63 74 2a 20 63 75 72 | 72 65 6e 74 20 3d 20 74 |ect* cur|rent = t|
|00001ec0| 68 69 73 2d 3e 43 75 72 | 72 65 6e 74 28 74 29 3b |his->Cur|rent(t);|
|00001ed0| 0d 09 09 69 73 43 6f 6e | 74 61 69 6e 65 64 20 3d |...isCon|tained =|
|00001ee0| 20 63 75 72 72 65 6e 74 | 2d 3e 4f 62 6a 65 63 74 | current|->Object|
|00001ef0| 73 41 72 65 54 68 65 53 | 61 6d 65 28 74 2c 20 6f |sAreTheS|ame(t, o|
|00001f00| 62 6a 65 63 74 54 6f 54 | 65 73 74 46 6f 72 4d 65 |bjectToT|estForMe|
|00001f10| 6d 62 65 72 73 68 69 70 | 29 3b 0d 09 09 63 75 72 |mbership|);...cur|
|00001f20| 72 65 6e 74 2d 3e 44 69 | 73 70 6f 73 65 44 65 73 |rent->Di|sposeDes|
|00001f30| 69 67 6e 61 74 6f 72 28 | 29 3b 0d 09 09 7d 0d 09 |ignator(|);...}..|
|00001f40| 0d 09 72 65 74 75 72 6e | 20 69 73 43 6f 6e 74 61 |..return| isConta|
|00001f50| 69 6e 65 64 3b 0d 09 7d | 0d 0d 2f 2f 3d 3d 3d 3d |ined;..}|..//====|
|00001f60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001f70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001f80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001f90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001fa0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001fb0| 3d 3d 3d 3d 0d 2f 2f 20 | 43 6c 61 73 73 20 54 53 |====.// |Class TS|
|00001fc0| 69 6e 67 6c 65 4f 62 6a | 65 63 74 49 74 65 72 61 |ingleObj|ectItera|
|00001fd0| 74 6f 72 0d 2f 2f 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |tor.//==|========|
|00001fe0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001ff0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002000| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002010| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002020| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 0d |========|======..|
|00002030| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00002040| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002050| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002060| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002070| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002080| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 54 53 |--------|--.// TS|
|00002090| 69 6e 67 6c 65 4f 62 6a | 65 63 74 49 74 65 72 61 |ingleObj|ectItera|
|000020a0| 74 6f 72 3a 3a 7e 54 53 | 69 6e 67 6c 65 4f 62 6a |tor::~TS|ingleObj|
|000020b0| 65 63 74 49 74 65 72 61 | 74 6f 72 0d 2f 2f 2d 2d |ectItera|tor.//--|
|000020c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000020d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000020e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000020f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002110| 2d 2d 2d 2d 2d 2d 0d 54 | 53 69 6e 67 6c 65 4f 62 |------.T|SingleOb|
|00002120| 6a 65 63 74 49 74 65 72 | 61 74 6f 72 3a 3a 7e 54 |jectIter|ator::~T|
|00002130| 53 69 6e 67 6c 65 4f 62 | 6a 65 63 74 49 74 65 72 |SingleOb|jectIter|
|00002140| 61 74 6f 72 28 29 0d 09 | 7b 0d 09 7d 20 2f 2f 20 |ator()..|{..} // |
|00002150| 54 53 69 6e 67 6c 65 4f | 62 6a 65 63 74 49 74 65 |TSingleO|bjectIte|
|00002160| 72 61 74 6f 72 3a 3a 7e | 54 53 69 6e 67 6c 65 4f |rator::~|TSingleO|
|00002170| 62 6a 65 63 74 49 74 65 | 72 61 74 6f 72 0d 09 0d |bjectIte|rator...|
|00002180| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00002190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 54 53 |--------|--.// TS|
|000021e0| 69 6e 67 6c 65 4f 62 6a | 65 63 74 49 74 65 72 61 |ingleObj|ectItera|
|000021f0| 74 6f 72 3a 3a 52 65 73 | 65 74 0d 2f 2f 2d 2d 2d |tor::Res|et.//---|
|00002200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002250| 2d 2d 2d 2d 2d 0d 76 6f | 69 64 20 54 53 69 6e 67 |-----.vo|id TSing|
|00002260| 6c 65 4f 62 6a 65 63 74 | 49 74 65 72 61 74 6f 72 |leObject|Iterator|
|00002270| 3a 3a 52 65 73 65 74 28 | 54 54 72 61 6e 73 61 63 |::Reset(|TTransac|
|00002280| 74 69 6f 6e 2a 2c 20 42 | 6f 6f 6c 65 61 6e 29 0d |tion*, B|oolean).|
|00002290| 09 7b 0d 09 66 43 75 72 | 72 65 6e 74 20 3d 20 66 |.{..fCur|rent = f|
|000022a0| 4f 62 6a 65 63 74 3b 0d | 09 7d 20 2f 2f 20 54 53 |Object;.|.} // TS|
|000022b0| 69 6e 67 6c 65 4f 62 6a | 65 63 74 49 74 65 72 61 |ingleObj|ectItera|
|000022c0| 74 6f 72 3a 3a 52 65 73 | 65 74 0d 09 0d 2f 2f 2d |tor::Res|et...//-|
|000022d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000022e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000022f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002300| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002310| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002320| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 20 54 53 69 6e 67 |-------.|// TSing|
|00002330| 6c 65 4f 62 6a 65 63 74 | 49 74 65 72 61 74 6f 72 |leObject|Iterator|
|00002340| 3a 3a 4d 6f 72 65 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |::More./|/-------|
|00002350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002370| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002380| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002390| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000023a0| 2d 0d 42 6f 6f 6c 65 61 | 6e 20 54 53 69 6e 67 6c |-.Boolea|n TSingl|
|000023b0| 65 4f 62 6a 65 63 74 49 | 74 65 72 61 74 6f 72 3a |eObjectI|terator:|
|000023c0| 3a 4d 6f 72 65 28 54 54 | 72 61 6e 73 61 63 74 69 |:More(TT|ransacti|
|000023d0| 6f 6e 2a 29 20 63 6f 6e | 73 74 0d 09 7b 0d 09 72 |on*) con|st..{..r|
|000023e0| 65 74 75 72 6e 20 28 66 | 43 75 72 72 65 6e 74 20 |eturn (f|Current |
|000023f0| 21 3d 20 6e 69 6c 29 3b | 0d 09 7d 20 2f 2f 20 54 |!= nil);|..} // T|
|00002400| 53 69 6e 67 6c 65 4f 62 | 6a 65 63 74 49 74 65 72 |SingleOb|jectIter|
|00002410| 61 74 6f 72 3a 3a 4d 6f | 72 65 0d 09 0d 2f 2f 2d |ator::Mo|re...//-|
|00002420| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002450| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002460| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002470| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 20 54 53 69 6e 67 |-------.|// TSing|
|00002480| 6c 65 4f 62 6a 65 63 74 | 49 74 65 72 61 74 6f 72 |leObject|Iterator|
|00002490| 3a 3a 4e 65 78 74 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |::Next./|/-------|
|000024a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024f0| 2d 0d 76 6f 69 64 20 54 | 53 69 6e 67 6c 65 4f 62 |-.void T|SingleOb|
|00002500| 6a 65 63 74 49 74 65 72 | 61 74 6f 72 3a 3a 4e 65 |jectIter|ator::Ne|
|00002510| 78 74 28 54 54 72 61 6e | 73 61 63 74 69 6f 6e 2a |xt(TTran|saction*|
|00002520| 29 0d 09 7b 0d 09 66 43 | 75 72 72 65 6e 74 20 3d |)..{..fC|urrent =|
|00002530| 20 6e 69 6c 3b 0d 09 7d | 20 2f 2f 20 54 53 69 6e | nil;..}| // TSin|
|00002540| 67 6c 65 4f 62 6a 65 63 | 74 49 74 65 72 61 74 6f |gleObjec|tIterato|
|00002550| 72 3a 3a 4e 65 78 74 0d | 09 0d 2f 2f 2d 2d 2d 2d |r::Next.|..//----|
|00002560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002590| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000025a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000025b0| 2d 2d 2d 2d 0d 2f 2f 20 | 54 53 69 6e 67 6c 65 4f |----.// |TSingleO|
|000025c0| 62 6a 65 63 74 49 74 65 | 72 61 74 6f 72 3a 3a 43 |bjectIte|rator::C|
|000025d0| 75 72 72 65 6e 74 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |urrent./|/-------|
|000025e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000025f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002600| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002630| 2d 0d 54 41 62 73 74 72 | 61 63 74 53 63 72 69 70 |-.TAbstr|actScrip|
|00002640| 74 61 62 6c 65 4f 62 6a | 65 63 74 2a 20 54 53 69 |tableObj|ect* TSi|
|00002650| 6e 67 6c 65 4f 62 6a 65 | 63 74 49 74 65 72 61 74 |ngleObje|ctIterat|
|00002660| 6f 72 3a 3a 43 75 72 72 | 65 6e 74 28 54 54 72 61 |or::Curr|ent(TTra|
|00002670| 6e 73 61 63 74 69 6f 6e | 2a 29 0d 09 7b 0d 09 72 |nsaction|*)..{..r|
|00002680| 65 74 75 72 6e 20 66 43 | 75 72 72 65 6e 74 2d 3e |eturn fC|urrent->|
|00002690| 43 6c 6f 6e 65 44 65 73 | 69 67 6e 61 74 6f 72 28 |CloneDes|ignator(|
|000026a0| 29 3b 0d 09 7d 20 2f 2f | 20 54 53 69 6e 67 6c 65 |);..} //| TSingle|
|000026b0| 4f 62 6a 65 63 74 49 74 | 65 72 61 74 6f 72 3a 3a |ObjectIt|erator::|
|000026c0| 43 75 72 72 65 6e 74 0d | 09 0d 2f 2f 2d 2d 2d 2d |Current.|..//----|
|000026d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002700| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002710| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002720| 2d 2d 2d 2d 0d 2f 2f 20 | 54 53 69 6e 67 6c 65 4f |----.// |TSingleO|
|00002730| 62 6a 65 63 74 49 74 65 | 72 61 74 6f 72 3a 3a 43 |bjectIte|rator::C|
|00002740| 6f 75 6e 74 45 6c 65 6d | 65 6e 74 73 0d 2f 2f 0d |ountElem|ents.//.|
|00002750| 2f 2f 20 57 65 20 6b 6e | 6f 77 20 74 68 61 74 20 |// We kn|ow that |
|00002760| 74 68 69 73 20 69 74 65 | 72 61 74 6f 72 20 77 69 |this ite|rator wi|
|00002770| 6c 6c 20 6f 6e 6c 79 20 | 72 65 70 72 65 73 65 6e |ll only |represen|
|00002780| 74 20 6f 6e 65 20 6f 62 | 6a 65 63 74 20 61 74 20 |t one ob|ject at |
|00002790| 74 68 65 20 6d 6f 73 74 | 0d 2f 2f 2d 2d 2d 2d 2d |the most|.//-----|
|000027a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000027b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000027c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000027d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000027e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000027f0| 2d 2d 2d 0d 6c 6f 6e 67 | 20 54 53 69 6e 67 6c 65 |---.long| TSingle|
|00002800| 4f 62 6a 65 63 74 49 74 | 65 72 61 74 6f 72 3a 3a |ObjectIt|erator::|
|00002810| 43 6f 75 6e 74 45 6c 65 | 6d 65 6e 74 73 28 54 54 |CountEle|ments(TT|
|00002820| 72 61 6e 73 61 63 74 69 | 6f 6e 2a 20 74 2c 20 44 |ransacti|on* t, D|
|00002830| 65 73 63 54 79 70 65 20 | 64 65 73 69 72 65 64 43 |escType |desiredC|
|00002840| 6c 61 73 73 29 0d 09 7b | 0d 09 72 65 74 75 72 6e |lass)..{|..return|
|00002850| 20 66 4f 62 6a 65 63 74 | 20 3d 3d 20 6e 69 6c 20 | fObject| == nil |
|00002860| 3f 20 30 20 3a 20 66 4f | 62 6a 65 63 74 2d 3e 44 |? 0 : fO|bject->D|
|00002870| 65 72 69 76 65 64 46 72 | 6f 6d 4f 53 4c 43 6c 61 |erivedFr|omOSLCla|
|00002880| 73 73 28 74 2c 20 64 65 | 73 69 72 65 64 43 6c 61 |ss(t, de|siredCla|
|00002890| 73 73 29 3b 0d 09 7d 20 | 2f 2f 20 54 53 69 6e 67 |ss);..} |// TSing|
|000028a0| 6c 65 4f 62 6a 65 63 74 | 49 74 65 72 61 74 6f 72 |leObject|Iterator|
|000028b0| 3a 3a 43 6f 75 6e 74 45 | 6c 65 6d 65 6e 74 73 0d |::CountE|lements.|
|000028c0| 09 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..//----|--------|
|000028d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000028e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000028f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002900| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002910| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|00002920| 54 53 69 6e 67 6c 65 4f | 62 6a 65 63 74 49 74 65 |TSingleO|bjectIte|
|00002930| 72 61 74 6f 72 3a 3a 47 | 65 74 49 6e 64 65 78 65 |rator::G|etIndexe|
|00002940| 64 45 6c 65 6d 65 6e 74 | 0d 2f 2f 2d 2d 2d 2d 2d |dElement|.//-----|
|00002950| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029a0| 2d 2d 2d 0d 54 41 62 73 | 74 72 61 63 74 53 63 72 |---.TAbs|tractScr|
|000029b0| 69 70 74 61 62 6c 65 4f | 62 6a 65 63 74 2a 20 54 |iptableO|bject* T|
|000029c0| 53 69 6e 67 6c 65 4f 62 | 6a 65 63 74 49 74 65 72 |SingleOb|jectIter|
|000029d0| 61 74 6f 72 3a 3a 47 65 | 74 49 6e 64 65 78 65 64 |ator::Ge|tIndexed|
|000029e0| 45 6c 65 6d 65 6e 74 28 | 54 54 72 61 6e 73 61 63 |Element(|TTransac|
|000029f0| 74 69 6f 6e 2a 20 74 2c | 20 44 65 73 63 54 79 70 |tion* t,| DescTyp|
|00002a00| 65 20 64 65 73 69 72 65 | 64 43 6c 61 73 73 2c 20 |e desire|dClass, |
|00002a10| 6c 6f 6e 67 20 69 6e 64 | 65 78 29 0d 09 7b 0d 09 |long ind|ex)..{..|
|00002a20| 54 41 62 73 74 72 61 63 | 74 53 63 72 69 70 74 61 |TAbstrac|tScripta|
|00002a30| 62 6c 65 4f 62 6a 65 63 | 74 2a 20 72 65 73 75 6c |bleObjec|t* resul|
|00002a40| 74 20 3d 20 6e 69 6c 3b | 0d 09 0d 09 69 66 28 69 |t = nil;|....if(i|
|00002a50| 6e 64 65 78 20 3d 3d 20 | 31 29 0d 09 09 72 65 73 |ndex == |1)...res|
|00002a60| 75 6c 74 20 3d 20 66 4f | 62 6a 65 63 74 3b 0d 09 |ult = fO|bject;..|
|00002a70| 69 66 28 28 72 65 73 75 | 6c 74 20 3d 3d 20 6e 69 |if((resu|lt == ni|
|00002a80| 6c 29 20 7c 7c 20 28 72 | 65 73 75 6c 74 2d 3e 44 |l) || (r|esult->D|
|00002a90| 65 72 69 76 65 64 46 72 | 6f 6d 4f 53 4c 43 6c 61 |erivedFr|omOSLCla|
|00002aa0| 73 73 28 74 2c 20 64 65 | 73 69 72 65 64 43 6c 61 |ss(t, de|siredCla|
|00002ab0| 73 73 29 20 3d 3d 20 66 | 61 6c 73 65 29 29 0d 09 |ss) == f|alse))..|
|00002ac0| 09 46 61 69 6c 45 72 72 | 28 65 72 72 41 45 49 6e |.FailErr|(errAEIn|
|00002ad0| 64 65 78 54 6f 6f 4c 61 | 72 67 65 29 3b 0d 09 0d |dexTooLa|rge);...|
|00002ae0| 09 72 65 74 75 72 6e 20 | 72 65 73 75 6c 74 2d 3e |.return |result->|
|00002af0| 43 6c 6f 6e 65 44 65 73 | 69 67 6e 61 74 6f 72 28 |CloneDes|ignator(|
|00002b00| 29 3b 0d 09 7d 20 2f 2f | 20 54 53 69 6e 67 6c 65 |);..} //| TSingle|
|00002b10| 4f 62 6a 65 63 74 49 74 | 65 72 61 74 6f 72 3a 3a |ObjectIt|erator::|
|00002b20| 47 65 74 49 6e 64 65 78 | 65 64 45 6c 65 6d 65 6e |GetIndex|edElemen|
|00002b30| 74 0d 0d 0d 2f 2f 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |t...//==|========|
|00002b40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002b50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002b60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002b70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002b80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 2f |========|======./|
|00002b90| 2f 20 43 4c 41 53 53 20 | 54 43 6f 6c 6c 65 63 74 |/ CLASS |TCollect|
|00002ba0| 69 6f 6e 49 74 65 72 61 | 74 6f 72 0d 2f 2f 3d 3d |ionItera|tor.//==|
|00002bb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002bc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002bd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002be0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002bf0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002c00| 3d 3d 3d 3d 3d 3d 0d 0d | 2f 2f 2d 2d 2d 2d 2d 2d |======..|//------|
|00002c10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c60| 2d 2d 0d 2f 2f 20 54 43 | 6f 6c 6c 65 63 74 69 6f |--.// TC|ollectio|
|00002c70| 6e 49 74 65 72 61 74 6f | 72 3a 3a 7e 54 43 6f 6c |nIterato|r::~TCol|
|00002c80| 6c 65 63 74 69 6f 6e 49 | 74 65 72 61 74 6f 72 0d |lectionI|terator.|
|00002c90| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00002ca0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002cb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002cc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002cd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 54 43 6f 6c 6c |--------|--.TColl|
|00002cf0| 65 63 74 69 6f 6e 49 74 | 65 72 61 74 6f 72 3a 3a |ectionIt|erator::|
|00002d00| 7e 54 43 6f 6c 6c 65 63 | 74 69 6f 6e 49 74 65 72 |~TCollec|tionIter|
|00002d10| 61 74 6f 72 28 29 0d 09 | 7b 0d 09 66 6f 72 28 6c |ator()..|{..for(l|
|00002d20| 6f 6e 67 20 69 3d 30 3b | 20 69 3c 66 49 74 65 72 |ong i=0;| i<fIter|
|00002d30| 73 49 6e 43 6f 6c 6c 65 | 63 74 69 6f 6e 3b 20 2b |sInColle|ction; +|
|00002d40| 2b 69 29 0d 09 09 7b 0d | 09 09 66 49 74 65 72 43 |+i)...{.|..fIterC|
|00002d50| 6f 6c 6c 65 63 74 69 6f | 6e 5b 69 5d 2d 3e 52 65 |ollectio|n[i]->Re|
|00002d60| 6c 65 61 73 65 28 29 3b | 0d 09 09 7d 0d 09 69 66 |lease();|...}..if|
|00002d70| 28 66 49 74 65 72 43 6f | 6c 6c 65 63 74 69 6f 6e |(fIterCo|llection|
|00002d80| 20 21 3d 20 6e 69 6c 29 | 0d 09 09 64 65 6c 65 74 | != nil)|...delet|
|00002d90| 65 20 5b 5d 20 66 49 74 | 65 72 43 6f 6c 6c 65 63 |e [] fIt|erCollec|
|00002da0| 74 69 6f 6e 3b 0d 09 7d | 0d 0d 2f 2f 2d 2d 2d 2d |tion;..}|..//----|
|00002db0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002dc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002dd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002de0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e00| 2d 2d 2d 2d 0d 2f 2f 20 | 54 43 6f 6c 6c 65 63 74 |----.// |TCollect|
|00002e10| 69 6f 6e 49 74 65 72 61 | 74 6f 72 3a 3a 41 64 64 |ionItera|tor::Add|
|00002e20| 49 74 65 72 61 74 6f 72 | 0d 2f 2f 2d 2d 2d 2d 2d |Iterator|.//-----|
|00002e30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e80| 2d 2d 2d 0d 76 6f 69 64 | 20 54 43 6f 6c 6c 65 63 |---.void| TCollec|
|00002e90| 74 69 6f 6e 49 74 65 72 | 61 74 6f 72 3a 3a 41 64 |tionIter|ator::Ad|
|00002ea0| 64 49 74 65 72 61 74 6f | 72 28 54 41 62 73 74 72 |dIterato|r(TAbstr|
|00002eb0| 61 63 74 4f 62 6a 65 63 | 74 49 74 65 72 61 74 6f |actObjec|tIterato|
|00002ec0| 72 2a 20 69 74 65 72 29 | 0d 09 7b 0d 09 69 66 28 |r* iter)|..{..if(|
|00002ed0| 66 49 74 65 72 73 49 6e | 43 6f 6c 6c 65 63 74 69 |fItersIn|Collecti|
|00002ee0| 6f 6e 20 3e 3d 20 66 43 | 6f 6c 6c 65 63 74 69 6f |on >= fC|ollectio|
|00002ef0| 6e 53 69 7a 65 29 0d 09 | 09 7b 0d 09 09 6c 6f 6e |nSize)..|.{...lon|
|00002f00| 67 20 6e 65 77 43 6f 6c | 6c 65 63 74 69 6f 6e 53 |g newCol|lectionS|
|00002f10| 69 7a 65 20 3d 20 66 43 | 6f 6c 6c 65 63 74 69 6f |ize = fC|ollectio|
|00002f20| 6e 53 69 7a 65 20 3c 3c | 20 31 3b 0d 09 09 69 66 |nSize <<| 1;...if|
|00002f30| 28 6e 65 77 43 6f 6c 6c | 65 63 74 69 6f 6e 53 69 |(newColl|ectionSi|
|00002f40| 7a 65 20 3d 3d 20 30 29 | 0d 09 09 09 6e 65 77 43 |ze == 0)|....newC|
|00002f50| 6f 6c 6c 65 63 74 69 6f | 6e 53 69 7a 65 20 3d 20 |ollectio|nSize = |
|00002f60| 38 3b 0d 0d 09 09 54 41 | 62 73 74 72 61 63 74 4f |8;....TA|bstractO|
|00002f70| 62 6a 65 63 74 49 74 65 | 72 61 74 6f 72 2a 2a 20 |bjectIte|rator** |
|00002f80| 6e 65 77 49 74 65 72 43 | 6f 6c 6c 65 63 74 69 6f |newIterC|ollectio|
|00002f90| 6e 20 3d 20 6e 65 77 20 | 54 41 62 73 74 72 61 63 |n = new |TAbstrac|
|00002fa0| 74 4f 62 6a 65 63 74 49 | 74 65 72 61 74 6f 72 2a |tObjectI|terator*|
|00002fb0| 5b 6e 65 77 43 6f 6c 6c | 65 63 74 69 6f 6e 53 69 |[newColl|ectionSi|
|00002fc0| 7a 65 5d 3b 0d 09 09 69 | 66 28 66 49 74 65 72 43 |ze];...i|f(fIterC|
|00002fd0| 6f 6c 6c 65 63 74 69 6f | 6e 20 21 3d 20 6e 69 6c |ollectio|n != nil|
|00002fe0| 29 0d 09 09 09 7b 0d 09 | 09 09 6d 65 6d 63 70 79 |)....{..|..memcpy|
|00002ff0| 28 6e 65 77 49 74 65 72 | 43 6f 6c 6c 65 63 74 69 |(newIter|Collecti|
|00003000| 6f 6e 2c 20 66 49 74 65 | 72 43 6f 6c 6c 65 63 74 |on, fIte|rCollect|
|00003010| 69 6f 6e 2c 20 66 43 6f | 6c 6c 65 63 74 69 6f 6e |ion, fCo|llection|
|00003020| 53 69 7a 65 20 2a 20 73 | 69 7a 65 6f 66 28 50 74 |Size * s|izeof(Pt|
|00003030| 72 29 29 3b 0d 09 09 09 | 64 65 6c 65 74 65 20 5b |r));....|delete [|
|00003040| 5d 20 66 49 74 65 72 43 | 6f 6c 6c 65 63 74 69 6f |] fIterC|ollectio|
|00003050| 6e 3b 0d 09 09 09 7d 0d | 09 09 66 49 74 65 72 43 |n;....}.|..fIterC|
|00003060| 6f 6c 6c 65 63 74 69 6f | 6e 20 3d 20 6e 65 77 49 |ollectio|n = newI|
|00003070| 74 65 72 43 6f 6c 6c 65 | 63 74 69 6f 6e 3b 0d 09 |terColle|ction;..|
|00003080| 09 66 43 6f 6c 6c 65 63 | 74 69 6f 6e 53 69 7a 65 |.fCollec|tionSize|
|00003090| 20 3d 20 6e 65 77 43 6f | 6c 6c 65 63 74 69 6f 6e | = newCo|llection|
|000030a0| 53 69 7a 65 3b 0d 09 09 | 7d 0d 09 0d 09 66 49 74 |Size;...|}....fIt|
|000030b0| 65 72 43 6f 6c 6c 65 63 | 74 69 6f 6e 5b 66 49 74 |erCollec|tion[fIt|
|000030c0| 65 72 73 49 6e 43 6f 6c | 6c 65 63 74 69 6f 6e 5d |ersInCol|lection]|
|000030d0| 20 3d 20 69 74 65 72 3b | 0d 09 2b 2b 66 49 74 65 | = iter;|..++fIte|
|000030e0| 72 73 49 6e 43 6f 6c 6c | 65 63 74 69 6f 6e 3b 0d |rsInColl|ection;.|
|000030f0| 09 7d 0d 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.}..//--|--------|
|00003100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003120| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003130| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003140| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|00003150| 2f 20 54 43 6f 6c 6c 65 | 63 74 69 6f 6e 49 74 65 |/ TColle|ctionIte|
|00003160| 72 61 74 6f 72 3a 3a 41 | 64 64 4f 62 6a 65 63 74 |rator::A|ddObject|
|00003170| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|00003180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000031a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000031b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000031c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 76 6f 69 64 |--------|---.void|
|000031d0| 20 54 43 6f 6c 6c 65 63 | 74 69 6f 6e 49 74 65 72 | TCollec|tionIter|
|000031e0| 61 74 6f 72 3a 3a 41 64 | 64 4f 62 6a 65 63 74 28 |ator::Ad|dObject(|
|000031f0| 54 54 72 61 6e 73 61 63 | 74 69 6f 6e 2a 20 74 2c |TTransac|tion* t,|
|00003200| 20 54 41 62 73 74 72 61 | 63 74 53 63 72 69 70 74 | TAbstra|ctScript|
|00003210| 61 62 6c 65 4f 62 6a 65 | 63 74 2a 20 6f 62 6a 65 |ableObje|ct* obje|
|00003220| 63 74 29 0d 09 7b 0d 09 | 54 41 62 73 74 72 61 63 |ct)..{..|TAbstrac|
|00003230| 74 4f 62 6a 65 63 74 49 | 74 65 72 61 74 6f 72 2a |tObjectI|terator*|
|00003240| 20 69 74 65 72 20 3d 20 | 6f 62 6a 65 63 74 2d 3e | iter = |object->|
|00003250| 44 69 72 65 63 74 4f 62 | 6a 65 63 74 49 74 65 72 |DirectOb|jectIter|
|00003260| 61 74 6f 72 28 74 29 3b | 0d 09 69 66 28 69 74 65 |ator(t);|..if(ite|
|00003270| 72 20 21 3d 20 6e 69 6c | 29 0d 09 09 74 68 69 73 |r != nil|)...this|
|00003280| 2d 3e 41 64 64 49 74 65 | 72 61 74 6f 72 28 69 74 |->AddIte|rator(it|
|00003290| 65 72 29 3b 0d 09 7d 0d | 0d 2f 2f 2d 2d 2d 2d 2d |er);..}.|.//-----|
|000032a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000032b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000032c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000032d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000032e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000032f0| 2d 2d 2d 0d 2f 2f 20 54 | 43 6f 6c 6c 65 63 74 69 |---.// T|Collecti|
|00003300| 6f 6e 49 74 65 72 61 74 | 6f 72 3a 3a 41 64 64 45 |onIterat|or::AddE|
|00003310| 6c 65 6d 65 6e 74 73 4f | 66 4f 62 6a 65 63 74 0d |lementsO|fObject.|
|00003320| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00003330| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003340| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003370| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 76 6f 69 64 20 |--------|--.void |
|00003380| 54 43 6f 6c 6c 65 63 74 | 69 6f 6e 49 74 65 72 61 |TCollect|ionItera|
|00003390| 74 6f 72 3a 3a 41 64 64 | 45 6c 65 6d 65 6e 74 73 |tor::Add|Elements|
|000033a0| 4f 66 4f 62 6a 65 63 74 | 28 54 54 72 61 6e 73 61 |OfObject|(TTransa|
|000033b0| 63 74 69 6f 6e 2a 20 74 | 2c 20 54 41 62 73 74 72 |ction* t|, TAbstr|
|000033c0| 61 63 74 53 63 72 69 70 | 74 61 62 6c 65 4f 62 6a |actScrip|tableObj|
|000033d0| 65 63 74 2a 20 6f 62 6a | 65 63 74 29 0d 09 7b 0d |ect* obj|ect)..{.|
|000033e0| 09 54 41 62 73 74 72 61 | 63 74 4f 62 6a 65 63 74 |.TAbstra|ctObject|
|000033f0| 49 74 65 72 61 74 6f 72 | 2a 20 69 74 65 72 20 3d |Iterator|* iter =|
|00003400| 20 6f 62 6a 65 63 74 2d | 3e 45 6c 65 6d 65 6e 74 | object-|>Element|
|00003410| 49 74 65 72 61 74 6f 72 | 28 74 29 3b 0d 09 69 66 |Iterator|(t);..if|
|00003420| 28 69 74 65 72 20 21 3d | 20 6e 69 6c 29 0d 09 09 |(iter !=| nil)...|
|00003430| 74 68 69 73 2d 3e 41 64 | 64 49 74 65 72 61 74 6f |this->Ad|dIterato|
|00003440| 72 28 69 74 65 72 29 3b | 0d 09 7d 0d 0d 2f 2f 2d |r(iter);|..}..//-|
|00003450| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003460| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003470| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003480| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034a0| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 20 54 43 6f 6c 6c |-------.|// TColl|
|000034b0| 65 63 74 69 6f 6e 49 74 | 65 72 61 74 6f 72 3a 3a |ectionIt|erator::|
|000034c0| 43 75 72 72 65 6e 74 49 | 74 65 72 61 74 6f 72 0d |CurrentI|terator.|
|000034d0| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|000034e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003510| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003520| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 54 41 62 73 74 |--------|--.TAbst|
|00003530| 72 61 63 74 4f 62 6a 65 | 63 74 49 74 65 72 61 74 |ractObje|ctIterat|
|00003540| 6f 72 2a 20 54 43 6f 6c | 6c 65 63 74 69 6f 6e 49 |or* TCol|lectionI|
|00003550| 74 65 72 61 74 6f 72 3a | 3a 43 75 72 72 65 6e 74 |terator:|:Current|
|00003560| 49 74 65 72 61 74 6f 72 | 28 29 20 63 6f 6e 73 74 |Iterator|() const|
|00003570| 0d 09 7b 0d 09 54 41 62 | 73 74 72 61 63 74 4f 62 |..{..TAb|stractOb|
|00003580| 6a 65 63 74 49 74 65 72 | 61 74 6f 72 2a 20 69 74 |jectIter|ator* it|
|00003590| 65 72 20 3d 20 6e 69 6c | 3b 0d 09 0d 09 69 66 28 |er = nil|;....if(|
|000035a0| 28 66 43 75 72 72 65 6e | 74 49 74 65 72 20 3e 3d |(fCurren|tIter >=|
|000035b0| 20 30 29 20 26 26 20 28 | 66 43 75 72 72 65 6e 74 | 0) && (|fCurrent|
|000035c0| 49 74 65 72 20 3c 20 66 | 49 74 65 72 73 49 6e 43 |Iter < f|ItersInC|
|000035d0| 6f 6c 6c 65 63 74 69 6f | 6e 29 29 0d 09 09 69 74 |ollectio|n))...it|
|000035e0| 65 72 20 3d 20 66 49 74 | 65 72 43 6f 6c 6c 65 63 |er = fIt|erCollec|
|000035f0| 74 69 6f 6e 5b 66 43 75 | 72 72 65 6e 74 49 74 65 |tion[fCu|rrentIte|
|00003600| 72 5d 3b 0d 09 0d 09 72 | 65 74 75 72 6e 20 69 74 |r];....r|eturn it|
|00003610| 65 72 3b 0d 09 7d 0d 0d | 2f 2f 2d 2d 2d 2d 2d 2d |er;..}..|//------|
|00003620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003650| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003660| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003670| 2d 2d 0d 2f 2f 20 54 43 | 6f 6c 6c 65 63 74 69 6f |--.// TC|ollectio|
|00003680| 6e 49 74 65 72 61 74 6f | 72 3a 3a 52 65 73 65 74 |nIterato|r::Reset|
|00003690| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|000036a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000036b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000036c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000036d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000036e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 76 6f 69 64 |--------|---.void|
|000036f0| 20 54 43 6f 6c 6c 65 63 | 74 69 6f 6e 49 74 65 72 | TCollec|tionIter|
|00003700| 61 74 6f 72 3a 3a 52 65 | 73 65 74 28 54 54 72 61 |ator::Re|set(TTra|
|00003710| 6e 73 61 63 74 69 6f 6e | 2a 20 74 2c 20 42 6f 6f |nsaction|* t, Boo|
|00003720| 6c 65 61 6e 20 69 74 65 | 72 61 74 69 6f 6e 44 69 |lean ite|rationDi|
|00003730| 72 65 63 74 69 6f 6e 20 | 2f 2a 3d 20 6b 46 6f 72 |rection |/*= kFor|
|00003740| 77 61 72 64 49 74 65 72 | 61 74 69 6f 6e 2a 2f 29 |wardIter|ation*/)|
|00003750| 0d 09 7b 0d 09 66 44 69 | 72 65 63 74 69 6f 6e 20 |..{..fDi|rection |
|00003760| 3d 20 69 74 65 72 61 74 | 69 6f 6e 44 69 72 65 63 |= iterat|ionDirec|
|00003770| 74 69 6f 6e 3b 0d 09 0d | 09 69 66 28 66 44 69 72 |tion;...|.if(fDir|
|00003780| 65 63 74 69 6f 6e 20 3d | 3d 20 6b 46 6f 72 77 61 |ection =|= kForwa|
|00003790| 72 64 49 74 65 72 61 74 | 69 6f 6e 29 0d 09 09 7b |rdIterat|ion)...{|
|000037a0| 0d 09 09 66 43 75 72 72 | 65 6e 74 49 74 65 72 20 |...fCurr|entIter |
|000037b0| 3d 20 30 3b 0d 09 09 7d | 0d 09 65 6c 73 65 0d 09 |= 0;...}|..else..|
|000037c0| 09 7b 0d 09 09 66 43 75 | 72 72 65 6e 74 49 74 65 |.{...fCu|rrentIte|
|000037d0| 72 20 3d 20 66 49 74 65 | 72 73 49 6e 43 6f 6c 6c |r = fIte|rsInColl|
|000037e0| 65 63 74 69 6f 6e 20 2d | 20 31 3b 0d 09 09 7d 0d |ection -| 1;...}.|
|000037f0| 09 54 41 62 73 74 72 61 | 63 74 4f 62 6a 65 63 74 |.TAbstra|ctObject|
|00003800| 49 74 65 72 61 74 6f 72 | 2a 20 69 74 65 72 20 3d |Iterator|* iter =|
|00003810| 20 74 68 69 73 2d 3e 43 | 75 72 72 65 6e 74 49 74 | this->C|urrentIt|
|00003820| 65 72 61 74 6f 72 28 29 | 3b 0d 09 69 66 28 69 74 |erator()|;..if(it|
|00003830| 65 72 29 0d 09 09 7b 0d | 09 09 69 74 65 72 2d 3e |er)...{.|..iter->|
|00003840| 52 65 73 65 74 28 74 2c | 20 66 44 69 72 65 63 74 |Reset(t,| fDirect|
|00003850| 69 6f 6e 29 3b 0d 09 09 | 77 68 69 6c 65 28 69 74 |ion);...|while(it|
|00003860| 65 72 20 26 26 20 28 69 | 74 65 72 2d 3e 4d 6f 72 |er && (i|ter->Mor|
|00003870| 65 28 74 29 20 3d 3d 20 | 66 61 6c 73 65 29 29 0d |e(t) == |false)).|
|00003880| 09 09 09 7b 0d 09 09 09 | 69 66 28 66 44 69 72 65 |...{....|if(fDire|
|00003890| 63 74 69 6f 6e 20 3d 3d | 20 6b 46 6f 72 77 61 72 |ction ==| kForwar|
|000038a0| 64 49 74 65 72 61 74 69 | 6f 6e 29 0d 09 09 09 09 |dIterati|on).....|
|000038b0| 2b 2b 66 43 75 72 72 65 | 6e 74 49 74 65 72 3b 0d |++fCurre|ntIter;.|
|000038c0| 09 09 09 65 6c 73 65 0d | 09 09 09 09 2d 2d 66 43 |...else.|....--fC|
|000038d0| 75 72 72 65 6e 74 49 74 | 65 72 3b 0d 09 09 09 69 |urrentIt|er;....i|
|000038e0| 74 65 72 20 3d 20 74 68 | 69 73 2d 3e 43 75 72 72 |ter = th|is->Curr|
|000038f0| 65 6e 74 49 74 65 72 61 | 74 6f 72 28 29 3b 09 0d |entItera|tor();..|
|00003900| 09 09 09 7d 0d 09 09 7d | 0d 09 7d 0d 0d 2f 2f 2d |...}...}|..}..//-|
|00003910| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003920| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003930| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003940| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003950| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003960| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 20 54 43 6f 6c 6c |-------.|// TColl|
|00003970| 65 63 74 69 6f 6e 49 74 | 65 72 61 74 6f 72 3a 3a |ectionIt|erator::|
|00003980| 4d 6f 72 65 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |More.//-|--------|
|00003990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|000039e0| 42 6f 6f 6c 65 61 6e 20 | 54 43 6f 6c 6c 65 63 74 |Boolean |TCollect|
|000039f0| 69 6f 6e 49 74 65 72 61 | 74 6f 72 3a 3a 4d 6f 72 |ionItera|tor::Mor|
|00003a00| 65 28 54 54 72 61 6e 73 | 61 63 74 69 6f 6e 2a 20 |e(TTrans|action* |
|00003a10| 74 29 20 63 6f 6e 73 74 | 0d 09 7b 0d 09 2f 2f 0d |t) const|..{..//.|
|00003a20| 09 2f 2f 20 49 66 20 74 | 68 65 72 65 20 69 73 20 |.// If t|here is |
|00003a30| 61 20 63 75 72 72 65 6e | 74 20 69 74 65 72 61 74 |a curren|t iterat|
|00003a40| 6f 72 2c 20 69 74 27 73 | 20 4d 6f 72 65 28 29 20 |or, it's| More() |
|00003a50| 6d 65 74 68 6f 64 0d 09 | 2f 2f 20 73 68 6f 75 6c |method..|// shoul|
|00003a60| 64 20 61 6c 77 61 79 73 | 20 72 65 74 75 72 6e 20 |d always| return |
|00003a70| 74 72 75 65 2e 20 20 42 | 75 74 20 77 65 20 63 68 |true. B|ut we ch|
|00003a80| 65 63 6b 20 61 6e 79 77 | 61 79 2e 0d 09 2f 2f 0d |eck anyw|ay...//.|
|00003a90| 09 54 41 62 73 74 72 61 | 63 74 4f 62 6a 65 63 74 |.TAbstra|ctObject|
|00003aa0| 49 74 65 72 61 74 6f 72 | 2a 20 69 74 65 72 20 3d |Iterator|* iter =|
|00003ab0| 20 74 68 69 73 2d 3e 43 | 75 72 72 65 6e 74 49 74 | this->C|urrentIt|
|00003ac0| 65 72 61 74 6f 72 28 29 | 3b 0d 09 69 66 28 69 74 |erator()|;..if(it|
|00003ad0| 65 72 29 0d 09 09 72 65 | 74 75 72 6e 20 69 74 65 |er)...re|turn ite|
|00003ae0| 72 2d 3e 4d 6f 72 65 28 | 74 29 3b 0d 09 65 6c 73 |r->More(|t);..els|
|00003af0| 65 0d 09 09 72 65 74 75 | 72 6e 20 66 61 6c 73 65 |e...retu|rn false|
|00003b00| 3b 0d 09 7d 0d 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |;..}..//|--------|
|00003b10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b60| 0d 2f 2f 20 54 43 6f 6c | 6c 65 63 74 69 6f 6e 49 |.// TCol|lectionI|
|00003b70| 74 65 72 61 74 6f 72 3a | 3a 4e 65 78 74 0d 2f 2f |terator:|:Next.//|
|00003b80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ba0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003bb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003bc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003bd0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 76 6f 69 64 20 54 43 |--------|.void TC|
|00003be0| 6f 6c 6c 65 63 74 69 6f | 6e 49 74 65 72 61 74 6f |ollectio|nIterato|
|00003bf0| 72 3a 3a 4e 65 78 74 28 | 54 54 72 61 6e 73 61 63 |r::Next(|TTransac|
|00003c00| 74 69 6f 6e 2a 20 74 29 | 0d 09 7b 0d 09 54 41 62 |tion* t)|..{..TAb|
|00003c10| 73 74 72 61 63 74 4f 62 | 6a 65 63 74 49 74 65 72 |stractOb|jectIter|
|00003c20| 61 74 6f 72 2a 20 69 74 | 65 72 20 3d 20 74 68 69 |ator* it|er = thi|
|00003c30| 73 2d 3e 43 75 72 72 65 | 6e 74 49 74 65 72 61 74 |s->Curre|ntIterat|
|00003c40| 6f 72 28 29 3b 0d 09 69 | 66 28 69 74 65 72 29 0d |or();..i|f(iter).|
|00003c50| 09 09 7b 0d 09 09 69 74 | 65 72 2d 3e 4e 65 78 74 |..{...it|er->Next|
|00003c60| 28 74 29 3b 0d 09 09 77 | 68 69 6c 65 28 69 74 65 |(t);...w|hile(ite|
|00003c70| 72 20 26 26 20 28 69 74 | 65 72 2d 3e 4d 6f 72 65 |r && (it|er->More|
|00003c80| 28 74 29 20 3d 3d 20 66 | 61 6c 73 65 29 29 0d 09 |(t) == f|alse))..|
|00003c90| 09 09 7b 0d 09 09 09 69 | 66 28 66 44 69 72 65 63 |..{....i|f(fDirec|
|00003ca0| 74 69 6f 6e 20 3d 3d 20 | 6b 46 6f 72 77 61 72 64 |tion == |kForward|
|00003cb0| 49 74 65 72 61 74 69 6f | 6e 29 0d 09 09 09 09 2b |Iteratio|n).....+|
|00003cc0| 2b 66 43 75 72 72 65 6e | 74 49 74 65 72 3b 0d 09 |+fCurren|tIter;..|
|00003cd0| 09 09 65 6c 73 65 0d 09 | 09 09 09 2d 2d 66 43 75 |..else..|...--fCu|
|00003ce0| 72 72 65 6e 74 49 74 65 | 72 3b 0d 09 09 09 69 74 |rrentIte|r;....it|
|00003cf0| 65 72 20 3d 20 74 68 69 | 73 2d 3e 43 75 72 72 65 |er = thi|s->Curre|
|00003d00| 6e 74 49 74 65 72 61 74 | 6f 72 28 29 3b 0d 09 09 |ntIterat|or();...|
|00003d10| 09 69 66 28 69 74 65 72 | 20 21 3d 20 6e 69 6c 29 |.if(iter| != nil)|
|00003d20| 0d 09 09 09 09 69 74 65 | 72 2d 3e 52 65 73 65 74 |.....ite|r->Reset|
|00003d30| 28 74 2c 20 66 44 69 72 | 65 63 74 69 6f 6e 29 3b |(t, fDir|ection);|
|00003d40| 0d 09 09 09 7d 0d 09 09 | 7d 0d 09 7d 0d 0d 2f 2f |....}...|}..}..//|
|00003d50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003da0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 54 43 6f 6c |--------|.// TCol|
|00003db0| 6c 65 63 74 69 6f 6e 49 | 74 65 72 61 74 6f 72 3a |lectionI|terator:|
|00003dc0| 3a 43 75 72 72 65 6e 74 | 0d 2f 2f 2d 2d 2d 2d 2d |:Current|.//-----|
|00003dd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003de0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e20| 2d 2d 2d 0d 54 41 62 73 | 74 72 61 63 74 53 63 72 |---.TAbs|tractScr|
|00003e30| 69 70 74 61 62 6c 65 4f | 62 6a 65 63 74 2a 20 54 |iptableO|bject* T|
|00003e40| 43 6f 6c 6c 65 63 74 69 | 6f 6e 49 74 65 72 61 74 |Collecti|onIterat|
|00003e50| 6f 72 3a 3a 43 75 72 72 | 65 6e 74 28 54 54 72 61 |or::Curr|ent(TTra|
|00003e60| 6e 73 61 63 74 69 6f 6e | 2a 20 74 29 0d 09 7b 0d |nsaction|* t)..{.|
|00003e70| 09 54 41 62 73 74 72 61 | 63 74 4f 62 6a 65 63 74 |.TAbstra|ctObject|
|00003e80| 49 74 65 72 61 74 6f 72 | 2a 20 69 74 65 72 20 3d |Iterator|* iter =|
|00003e90| 20 74 68 69 73 2d 3e 43 | 75 72 72 65 6e 74 49 74 | this->C|urrentIt|
|00003ea0| 65 72 61 74 6f 72 28 29 | 3b 0d 09 69 66 28 69 74 |erator()|;..if(it|
|00003eb0| 65 72 29 0d 09 09 72 65 | 74 75 72 6e 20 69 74 65 |er)...re|turn ite|
|00003ec0| 72 2d 3e 43 75 72 72 65 | 6e 74 28 74 29 3b 0d 09 |r->Curre|nt(t);..|
|00003ed0| 65 6c 73 65 0d 09 09 72 | 65 74 75 72 6e 20 6e 69 |else...r|eturn ni|
|00003ee0| 6c 3b 0d 09 7d 0d 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |l;..}../|/-------|
|00003ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f40| 2d 0d 2f 2f 20 54 43 6f | 6c 6c 65 63 74 69 6f 6e |-.// TCo|llection|
|00003f50| 49 74 65 72 61 74 6f 72 | 3a 3a 43 75 72 72 65 6e |Iterator|::Curren|
|00003f60| 74 44 65 72 69 76 65 64 | 46 72 6f 6d 4f 53 4c 43 |tDerived|FromOSLC|
|00003f70| 6c 61 73 73 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |lass.//-|--------|
|00003f80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003fa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003fb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003fc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00003fd0| 42 6f 6f 6c 65 61 6e 20 | 54 43 6f 6c 6c 65 63 74 |Boolean |TCollect|
|00003fe0| 69 6f 6e 49 74 65 72 61 | 74 6f 72 3a 3a 43 75 72 |ionItera|tor::Cur|
|00003ff0| 72 65 6e 74 44 65 72 69 | 76 65 64 46 72 6f 6d 4f |rentDeri|vedFromO|
|00004000| 53 4c 43 6c 61 73 73 28 | 54 54 72 61 6e 73 61 63 |SLClass(|TTransac|
|00004010| 74 69 6f 6e 2a 20 74 2c | 20 44 65 73 63 54 79 70 |tion* t,| DescTyp|
|00004020| 65 20 6f 62 6a 65 63 74 | 43 6c 61 73 73 29 0d 09 |e object|Class)..|
|00004030| 7b 0d 09 54 41 62 73 74 | 72 61 63 74 4f 62 6a 65 |{..TAbst|ractObje|
|00004040| 63 74 49 74 65 72 61 74 | 6f 72 2a 20 69 74 65 72 |ctIterat|or* iter|
|00004050| 20 3d 20 74 68 69 73 2d | 3e 43 75 72 72 65 6e 74 | = this-|>Current|
|00004060| 49 74 65 72 61 74 6f 72 | 28 29 3b 0d 09 69 66 28 |Iterator|();..if(|
|00004070| 69 74 65 72 29 0d 09 09 | 72 65 74 75 72 6e 20 69 |iter)...|return i|
|00004080| 74 65 72 2d 3e 43 75 72 | 72 65 6e 74 44 65 72 69 |ter->Cur|rentDeri|
|00004090| 76 65 64 46 72 6f 6d 4f | 53 4c 43 6c 61 73 73 28 |vedFromO|SLClass(|
|000040a0| 74 2c 20 6f 62 6a 65 63 | 74 43 6c 61 73 73 29 3b |t, objec|tClass);|
|000040b0| 0d 09 65 6c 73 65 0d 09 | 09 72 65 74 75 72 6e 20 |..else..|.return |
|000040c0| 66 61 6c 73 65 3b 0d 09 | 7d 0d 0d 2f 2f 2d 2d 2d |false;..|}..//---|
|000040d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004120| 2d 2d 2d 2d 2d 0d 2f 2f | 20 54 43 6f 6c 6c 65 63 |-----.//| TCollec|
|00004130| 74 69 6f 6e 49 74 65 72 | 61 74 6f 72 3a 3a 53 65 |tionIter|ator::Se|
|00004140| 61 72 63 68 44 65 65 70 | 0d 2f 2f 2d 2d 2d 2d 2d |archDeep|.//-----|
|00004150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000041a0| 2d 2d 2d 0d 76 6f 69 64 | 20 54 43 6f 6c 6c 65 63 |---.void| TCollec|
|000041b0| 74 69 6f 6e 49 74 65 72 | 61 74 6f 72 3a 3a 53 65 |tionIter|ator::Se|
|000041c0| 61 72 63 68 44 65 65 70 | 28 54 54 72 61 6e 73 61 |archDeep|(TTransa|
|000041d0| 63 74 69 6f 6e 2a 20 74 | 2c 20 54 41 62 73 74 72 |ction* t|, TAbstr|
|000041e0| 61 63 74 43 6f 6c 6c 65 | 63 74 6f 72 2a 20 63 6f |actColle|ctor* co|
|000041f0| 6c 6c 65 63 74 6f 72 2c | 20 44 65 73 63 54 79 70 |llector,| DescTyp|
|00004200| 65 20 64 65 73 69 72 65 | 64 43 6c 61 73 73 2c 20 |e desire|dClass, |
|00004210| 54 41 62 73 74 72 61 63 | 74 53 65 61 72 63 68 53 |TAbstrac|tSearchS|
|00004220| 70 65 63 2a 20 73 65 61 | 72 63 68 53 70 65 63 29 |pec* sea|rchSpec)|
|00004230| 0d 09 7b 0d 09 74 68 69 | 73 2d 3e 52 65 63 75 72 |..{..thi|s->Recur|
|00004240| 73 69 76 65 53 65 61 72 | 63 68 44 65 65 70 28 74 |siveSear|chDeep(t|
|00004250| 2c 20 63 6f 6c 6c 65 63 | 74 6f 72 2c 20 64 65 73 |, collec|tor, des|
|00004260| 69 72 65 64 43 6c 61 73 | 73 2c 20 73 65 61 72 63 |iredClas|s, searc|
|00004270| 68 53 70 65 63 29 3b 0d | 09 7d 0d 00 00 00 00 00 |hSpec);.|.}......|
|00004280| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00004290| 00 7f 6b 48 4d 54 72 61 | 63 6b 43 6e 74 6c 49 74 |..kHMTra|ckCntlIt|
|000042a0| 65 6d 00 00 8c 68 65 6c | 70 49 74 65 6d 00 00 26 |em...hel|pItem..&|
|000042b0| 13 41 62 73 74 72 61 63 | 74 49 74 65 72 61 74 6f |.Abstrac|tIterato|
|000042c0| 72 2e 63 70 02 00 00 00 | 54 45 58 54 4d 4d 43 43 |r.cp....|TEXTMMCC|
|000042d0| 00 00 54 45 58 54 4d 4d | 43 43 01 00 00 50 00 00 |..TEXTMM|CC...P..|
|000042e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000042f0| 00 00 ac 44 00 b1 00 00 | 41 fb 00 00 01 9a 61 6c |...D....|A.....al|
|00004300| 53 74 61 67 65 00 00 e0 | 64 65 76 65 6c 6f 70 53 |Stage...|developS|
|00004310| 74 61 67 65 00 03 c8 4c | 52 6d 76 41 45 51 00 02 |tage...L|RmvAEQ..|
|00004320| 82 66 72 61 67 48 61 64 | 55 6e 72 65 73 6f 6c 76 |.fragHad|Unresolv|
|00004330| 65 64 73 00 01 76 6e 6f | 48 65 6c 70 46 6f 72 49 |eds..vno|HelpForI|
|00004340| 74 65 6d 00 02 94 65 72 | 72 4f 70 65 6e 69 6e 67 |tem...er|rOpening|
|00004350| 00 01 87 72 69 67 68 74 | 53 68 69 66 74 4b 65 79 |...right|ShiftKey|
|00004360| 00 00 d9 73 68 69 66 74 | 4b 65 79 00 00 94 43 6f |...shift|Key...Co|
|00004370| 70 79 42 69 74 73 00 00 | 31 43 4f 50 59 42 49 54 |pyBits..|1COPYBIT|
|00004380| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00004390| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000043a0| 00 00 00 00 00 00 00 03 | 00 04 00 3f 00 09 01 d0 |........|...?....|
|000043b0| 02 68 00 3f 00 09 01 d0 | 02 68 ac a9 84 29 00 00 |.h.?....|.h...)..|
|000043c0| 00 bc 00 00 00 bc 00 00 | 00 00 01 00 00 00 00 04 |........|........|
|000043d0| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|000043e0| 00 00 00 46 00 dc bc 88 | 18 9c 00 00 00 1c 00 46 |...F....|.......F|
|000043f0| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00004400| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00004410| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|00004420| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004430| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004440| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004450| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004460| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004470| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+